Front-end Logout
Depending on the different terminals and specific usage scenarios, we provide two logout methods: front-end logout and back-end logout:
front-end logout: Front-end logout refers to the user accessing the logout address on the front-end. After logging out, the server will clear the user's login status. This logout method generally requires the participation of the browser and needs to be used in the browser environment. The Node SDK provides a method for generating a logout address, and developers can guide users to access this address on the front-end.
back-end logout: Back-end logout refers to calling the method of revoking
access_tokenin the back-end service to invalidate the user'saccess_tokenand achieve the logout effect. It is suitable for scenarios where the login status is managed using Token.
This part of the document introduces the method of generating a front-end logout link.
Request parameters
| Name | Type | Required | Default value | Description | Sample value |
|---|---|---|---|---|---|
| redirectUri | string | No | - | The callback address after logout. This address must be configured in the logout callback URL in the application configuration. When setting this parameter, idToken must be passed at the same time. | https://example.com/homepage |
| idToken | string | No | - | The user's id_token. This parameter is required when redirectUri is set. The id_token is used as the user's request credential to access this endpoint to prevent third parties from placing malicious logout addresses to induce users to click. | xxxxxxxx |
| state | string | No | - | Custom intermediate state, which is any random string. When the user logs out and calls back to the callback address you configured, this state will be carried at the same time. | some-random-string |
Sample code
import { AuthenticationClient, Models } from "authing-node-sdk";
const authenticationClient = new AuthenticationClient({
// Need to be replaced with your GenAuth AppId, Secret and Host
appId: "GEN_AUTH_APP_ID",
appSecret: "GEN_AUTH_APP_SECRET",
appHost: "GEN_AUTH_APP_HOST",
protocol: "oidc",
});
(async () => {
const url = await authenticationClient.buildLogoutUrl({
redirectUri: "https://example.com/homepage",
// User's id_token can be obtained through the login interface
idToken: "xxxxxxxx",
state: "some-random-string",
});
console.log(url);
})();Request response
Type: string
Sample result:
https://example.genauth.ai/oidc/session/end?post_logout_redirect_uri=xxx&id_token_hint=xxxx&state=xxxx