首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对signoutRedirect的oidc-client-js不返回结束会话终结点。

针对signoutRedirect的oidc-client-js不返回结束会话终结点。
EN

Stack Overflow用户
提问于 2018-06-13 19:04:56
回答 2查看 8.3K关注 0票数 8

我已经成功地使用了布洛克艾伦的oidc-客户端js库来验证我的SPA应用程序,Auth0充当了我的身份提供者。但是,当我试图使用库将用户签出mgr.signoutRedirect({state: "my test"})时,我会收到一个错误:no end session endpoint

查看一下元数据端点就会发现有一个撤销端点。

我已经将oidc客户端js库配置如下:

代码语言:javascript
复制
var settings = {
   authority: 'https://susqsofttest.auth0.com/.well-known/openid-configuration',
   client_id: 'my client id',
   redirect_uri: 'http://localhost:8080/signin-oidc',
   post_logout_redirect_uri: 'http://localhost:8080/logout',
   response_type: 'id_token token',
   scope: 'openid profile email',
   revokeAccessTokenOnSignout: true,
   automaticSilentRenew: true,
   filterProtocolClaims: true,
   loadUserInfo: true
};
var mgr = new UserManager(settings);

知道我错过了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-13 19:37:41

signout重定向显式地查看您的idp 配置中的Json属性“配置”,我没有在您的idp配置中看到那个端点,我猜,这不是可以用oidc-client.js包覆盖的东西。

看看他们是如何从元数据中检索端点url的。https://github.com/IdentityModel/oidc-client-js/blob/dev/src/OidcClient.js#L124

票数 4
EN

Stack Overflow用户

发布于 2018-06-19 07:23:05

通过向用户管理器设置添加元数据部分,可以为oidc客户端提供元数据。

代码语言:javascript
复制
var settings = {
authority: 'https://susqsofttest.auth0.com/.well-known/openid-configuration',
client_id: 'my client id',
redirect_uri: 'http://localhost:8080/signin-oidc',
post_logout_redirect_uri: 'http://localhost:8080/logout',
response_type: 'id_token token',
scope: 'openid profile email',
revokeAccessTokenOnSignout: true,
automaticSilentRenew: true,
filterProtocolClaims: true,
loadUserInfo: true,
metadata: {
  issuer: `https://sts.windows.net/${tenant}/`,
  authorization_endpoint: `https://login.microsoftonline.com/${tenant}/oauth2/authorize`,
  token_endpoint: `https://login.microsoftonline.com/${tenant}/oauth2/token`,
  jwks_uri: 'https://login.microsoftonline.com/common/discovery/keys',
  end_session_endpoint: `https://login.microsoftonline.com/${tenant}/oauth2/logout`
}
};

这个例子是在使用AzureAD的时候。end_session_endpoint也可以像${window.location.origin}/logout一样成为您的SPA路由地址,但是蔚蓝的广告会话不会结束。

您还可以设置metadataUrl而不是元数据。“NAME.onmicrosoft.com/.well-known/openid-configuration”,

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50844515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档