【问题标题】:Identity server 3 MVC client state parameter身份服务器 3 MVC 客户端状态参数
【发布时间】:2016-04-30 10:31:11
【问题描述】:

我有通过 Identity Server 3 连接的 asp.net MVC / angular 应用程序。

我想要实现的是让 IS3 在登录后将我重定向到 Angular 路径。

在重定向到 IS3 之前我已经获得了角度相对路径,我需要做的是将该路径发送到 IS3 并在登录后让它发回给我,以便我可以将其附加到重定向 Uri。

我尝试在重定向到 IS3 时将其添加到“state”参数,但这会导致重定向无效。该参数已经有一个值,如果我更改它,重定向会中断

我有什么办法可以将该信息发送到 is3,然后在登录后取回?

谢谢

【问题讨论】:

    标签: angularjs model-view-controller oauth-2.0 openid identityserver3


    【解决方案1】:

    实现此目的的最佳方法是在您的应用中存储有关登录后所需重定向路径的状态。在 IdSvr 将您的用户登录并重定向回您的一个众所周知的回调 URI 后,您然后读取该状态以了解将用户发送到何处。 IOW,请在您的应用中跟踪它。

    通过将您在应用中的回调限制为单个知名 URL,我们试图防止开放式重定向攻击。

    【讨论】:

    • 嗨,布洛克,感谢您的回答。我有点想这是要走的路。我想我的“真正”问题是:我可以把返回网址放在 n.ProtocolMessage.State 吗?或者我应该只使用我知道将由 IdentityServer 返回的那个属性的值作为我想要存储的值(如 cookie、缓存等)的键。
    • 如果你把它放在状态,那么请注意有人可以篡改它。如果您保护状态(签名/加密),那就没问题了。在您的应用中保持该状态可能更容易/更安全。
    猜你喜欢
    • 2012-08-28
    • 2012-05-23
    • 2019-04-27
    • 2012-04-15
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 2011-06-14
    • 2016-07-25
    相关资源
    最近更新 更多