首页 > 解决方案 > IdentityServer4如何在登录后重定向流程

问题描述

我已经安装了一个 IdentityServer4 和一个客户端(混合 Mvc 客户端)。一切正常。以下流程有效:
1. 用户调用安全页面 PageX(控制器受 Authorize 属性保护)
2. 系统将流程重定向到 IdentityServer 上的登录页面
3. 在身份验证/授权后,IdentityServer 将用户重定向到定义的 url (redirect_uri)在客户端配置(名为 Home 的页面)中。

现在我不知道如何在第 3 步实现重定向到 PageX,即请求的原始页面。

我必须创建一个自定义 AuthorizeAttribute 以将 PageX 的 url 保存在会话存储中,而不是在回调页面中使用它?或者 IdentityServer 或客户端上是否有任何可以帮助我的配置?

提前致谢

标签: redirectloginidentityserver4deep-linkingdeeplink

解决方案


这通常是您使用 state 参数的目的。您的回调将收到未更改的状态值,然后您可以验证其中的 URL 是本地的并自动重定向到它。

我建议使用 .net 中的 DataProtection 功能来保护值不被篡改。


推荐阅读