OIDC,重定向URL和通配符

时间:2018-10-10 16:51:47

标签: openid openid-connect oidc

我相信 3.1.2.1。 the specification的“身份验证请求” 部分说我们不能,但是我认为它是如此令人难以置信,以至于我想通过在这里询问来进行仔细检查。

在用户通过OIDC提供程序成功登录后,是否可以将我的用户重定向到我的域名的任何 URL?

我的用例将是:

  1. 用户访问我的应用并徘徊
  2. 她找到了一些有趣的事情想与他人互动,例如,评论她发现有趣的帖子
  3. 该应用邀请她登录,并将她重定向到OIDC提供者

由于我无法预先知道用户在步骤3中要访问的URL,因此无论该URL是什么,我都希望她被重定向到该URL。

这可行吗? 我是否正确理解规范说不是? 如果规范确实说 no ,您是否知道可以解决此问题的任何解决方法?

1 个答案:

答案 0 :(得分:3)

您可以使用state参数来实现此目标,而不会偏离规范。

state参数与要在客户端执行的页面/操作相关。

  1. 用户访问我的应用并徘徊
  2. 她找到了一些有趣的事情想与他人互动,例如,评论她发现有趣的帖子
  3. 该应用会生成一个状态值,并将该值与要执行的交互相关联
  4. 该应用程序邀请她登录,并使用查询字符串中的state参数将她重定向到OIDC提供程序
  5. 同意后,用户将重定向到应用程序回调
  6. 获取属于查询/片段的状态(取决于响应模式/类型)。
  7. 根据状态值,将用户重定向到预期的页面/操作。