diff --git a/proxy/data.go b/proxy/data.go index 09cefe583..ce13ce53e 100644 --- a/proxy/data.go +++ b/proxy/data.go @@ -67,18 +67,16 @@ func (p *Proxy) getUserInfoData(r *http.Request) (handlers.UserInfoData, error) } ss, err := p.getSessionState(r) - if err != nil { - return handlers.UserInfoData{}, err - } + if err == nil { + data.Session, data.IsImpersonated, err = p.getSession(r.Context(), ss.ID) + if err != nil { + data.Session = &session.Session{Id: ss.ID} + } - data.Session, data.IsImpersonated, err = p.getSession(r.Context(), ss.ID) - if err != nil { - data.Session = &session.Session{Id: ss.ID} - } - - data.User, err = p.getUser(r.Context(), data.Session.GetUserId()) - if err != nil { - data.User = &user.User{Id: data.Session.GetUserId()} + data.User, err = p.getUser(r.Context(), data.Session.GetUserId()) + if err != nil { + data.User = &user.User{Id: data.Session.GetUserId()} + } } data.WebAuthnCreationOptions, data.WebAuthnRequestOptions, _ = p.webauthn.GetOptions(r) diff --git a/ui/src/components/SessionDetails.tsx b/ui/src/components/SessionDetails.tsx index 154951869..d5d073f06 100644 --- a/ui/src/components/SessionDetails.tsx +++ b/ui/src/components/SessionDetails.tsx @@ -1,3 +1,5 @@ +import Alert from "@mui/material/Alert"; +import AlertTitle from "@mui/material/AlertTitle"; import Stack from "@mui/material/Stack"; import Table from "@mui/material/Table"; import TableBody from "@mui/material/TableBody"; @@ -20,50 +22,66 @@ export const SessionDetails: FC = ({ profile, }) => { return ( -
- - - - - - - Session ID - - - - - - - User ID - - - - - - Expires At - {session?.expiresAt || ""} - - {Object.entries(session?.claims || {}).map(([key, values]) => ( - - ))} - {Object.entries(profile?.claims || {}).map(([key, value]) => ( - - ))} - -
-
-
-
+ <> + {session?.id ? ( +
+ + + + + + + Session ID + + + + + + + User ID + + + + + + Expires At + + {session?.expiresAt || ""} + + + {Object.entries(session?.claims || {}).map( + ([key, values]) => ( + + ) + )} + {Object.entries(profile?.claims || {}).map(([key, value]) => ( + + ))} + +
+
+
+
+ ) : ( + + User Details Not Available + Have you signed in yet?
+ {location.origin}. +
+ )} + ); }; export default SessionDetails;