2

问题/问题

我使用 Identity Server 进行单点登录,我的客户端应用程序位于嵌入 Redux 的 ReactJs 中。我正在使用redux-oidcnpm 节点模块来实现身份服务器功能,如https://github.com/IdentityModel/oidc-client-js/wiki中所述

我的 oidc 配置是

var settings = {
    authority: 'https://localhost:2025/core',
    client_id: 'TVA',
    silent_redirect_uri: 'http://localhost:3000/silent-renew.html',
    post_logout_redirect_uri: 'http://localhost:3000',
    redirect_uri: `http://localhost:3000/callback`,
    response_type: 'id_token token',
    scope: 'openid payroll',
    acr_values: `tenant:Payroll`,
    accessTokenExpiringNotificationTime: 4,
    automaticSilentRenew: true,
    filterProtocolClaims: true
};

如果我使用内置方法signoutRedirect,它会再次重定向到应用程序的初始登录页面,但如果我直接触发结束会话,它会重定向到身份服务器登录页面(即,一旦应用程序成功注销,身份服务器将重定向到根 URI,然后重定向到登录页面)。

问题:它不是注销应用程序

userManager.signoutRedirect()
    .catch(function (error) {
        console.error('error while signing out user', error);
    });

很好:登出很完美

const path = 'https://localhost:2025/core/connect/endsession?id_token_hint=${token}&post_logout_redirect_uri=http://localhost:3000';
document.location.href = path;

请帮助我如何使用userManager.signoutRedirect()???

4

0 回答 0