【问题标题】:Identity Server 4 / OpenID Connect default redirect URLIdentity Server 4 / OpenID Connect 默认重定向 URL
【发布时间】:2017-10-18 09:42:19
【问题描述】:

我开始使用 Identity Server 4(在 ASP.NET Core 下)使用隐式流来保护 Angular 2 前端(对 Web API 服务)。

使用oidc-client JS library,我可以成功地从示例的默认页面重定向到我的登录页面,让用户进行身份验证,然后(通过/connect/authorize)重定向回Angular站点的回调。

如果用户直接浏览到我的身份验证登录页面(而不是 Angular 主页),我可以进行身份​​验证,但无处可重定向。如果我手动重定向到身份验证服务器的 /connect/authorize 页面,OIDC 客户端会报告“在存储中未找到匹配状态”。 (大概是 OIDC 客户端在本地持久化一些东西来验证对原始请求的响应?)。

一个明显的解决方案是让 Auth 服务器重定向任何请求,而无需指定重定向到 Angular 客户端,然后它可以像往常一样重定向回 Auth 服务器。不过,这感觉就像很多往返。

【问题讨论】:

    标签: identityserver4


    【解决方案1】:

    是的 - 因为它不是这样工作的。身份验证流程从客户端应用程序开始 - 而不是身份提供者。

    OpenID Connect 提供者通常有不止一个客户端 - 因此它需要上下文信息(也就是有效的 OIDC 授权请求)。

    如果您希望旅程从提供商处开始,您需要按照您的建议做一些事情 - 但是一旦您有了第二个客户,您就需要更加聪明(例如选择屏幕等)。

    【讨论】:

    • 感谢您抽出宝贵时间确认我并不太清楚。 (现实情况是,有些用户总是会为登录页面添加书签,所以从这个角度来看,它就是这样工作的,至少有时是这样。)谷歌(例如)就像你说的那样做,并重定向到帐户管理员页面作为默认值。非常感谢您的cmets;谢谢。
    猜你喜欢
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 2020-10-28
    • 2018-05-21
    • 2015-05-21
    • 1970-01-01
    相关资源
    最近更新 更多