OIDC、重定向 URL 和通配符
OIDC, Redirect URL and wildcard
我相信3.1.2.1。 the specification 的 Authentication Request 部分说我们不能,但我觉得这太不可思议了,我想我会在这里询问来仔细检查。
有没有办法在我的用户通过 OIDC 提供商成功登录后将他们重定向到我的域名的 any URL?
我的用例是:
- 用户访问我的应用程序并四处闲逛
- 她发现了一些有趣的事情可以做并且想要互动,例如,评论一个她觉得有趣的post
- 该应用邀请她登录,她被重定向到 OIDC 提供商
因为我无法提前知道 URL 我的用户将在第 3 步访问,所以我希望她被重定向到那里,无论 URL 可能是什么。
这可行吗?
我是否正确理解了规范所说的不是?
如果规范确实说 no,您是否知道允许这种用户体验的任何解决方法?
您可以使用 state
参数在不偏离规范的情况下实现。
state
参数关联到 page/action 以在客户端执行。
- 用户访问我的应用并四处闲逛
- 她发现了一些有趣的事情可以做并且想要互动,例如,评论一个post她觉得有趣的
- 应用生成状态值并将该值与要执行的交互相关联
- 该应用邀请她登录,她被重定向到 OIDC 提供商,查询字符串中包含状态参数
- 同意后,用户被重定向到应用程序回调
- 获取属于 query/fragment 的状态(取决于响应 mode/type)。
- 根据状态值,将用户重定向到预期的 page/action。
我相信3.1.2.1。 the specification 的 Authentication Request 部分说我们不能,但我觉得这太不可思议了,我想我会在这里询问来仔细检查。
有没有办法在我的用户通过 OIDC 提供商成功登录后将他们重定向到我的域名的 any URL?
我的用例是:
- 用户访问我的应用程序并四处闲逛
- 她发现了一些有趣的事情可以做并且想要互动,例如,评论一个她觉得有趣的post
- 该应用邀请她登录,她被重定向到 OIDC 提供商
因为我无法提前知道 URL 我的用户将在第 3 步访问,所以我希望她被重定向到那里,无论 URL 可能是什么。
这可行吗? 我是否正确理解了规范所说的不是? 如果规范确实说 no,您是否知道允许这种用户体验的任何解决方法?
您可以使用 state
参数在不偏离规范的情况下实现。
state
参数关联到 page/action 以在客户端执行。
- 用户访问我的应用并四处闲逛
- 她发现了一些有趣的事情可以做并且想要互动,例如,评论一个post她觉得有趣的
- 应用生成状态值并将该值与要执行的交互相关联
- 该应用邀请她登录,她被重定向到 OIDC 提供商,查询字符串中包含状态参数
- 同意后,用户被重定向到应用程序回调
- 获取属于 query/fragment 的状态(取决于响应 mode/type)。
- 根据状态值,将用户重定向到预期的 page/action。