API Reference > imodeljs-clients > Authentication > IOidcFrontendClient IOidcFrontendClient Interface Beta Interface to implement a typical frontend client Extends IDisposable IAuthorizationClient Methods Name Description getAccessToken(requestContext?: ClientRequestContext): Promise<AccessToken> Returns a promise that resolves to the AccessToken if signed in. initialize(requestContext: ClientRequestContext): Promise<void> Used to initialize the client - must be awaited before any other methods are called signIn(requestContext: ClientRequestContext): Promise<void> Called to start the sign-in process. signOut(requestContext: ClientRequestContext): Promise<void> Called to start the sign-out process. Inherited methods Name Inherited from Description dispose(): void IDisposable Disposes of any resources owned by this object. Properties Name Type Description hasExpired boolean Set to true if the user has signed in, but the token has expired and requires a refresh hasSignedIn boolean Set to true if signed in - the accessToken may be active or may have expired and require a refresh isAuthorized boolean Set to true if there's a current authorized user or client (in the case of agent applications). onUserStateChanged BeEvent<(token: AccessToken | undefined) => void> Event called when the user's sign-in state changes Defined in core/clients/src/oidc/OidcFrontendClient.ts Line 18 Last Updated: 13 June, 2024