gpt4 book ai didi

openid - 如何在登录后重定向到 url 之前而不在我的 IdP 注册所有客户端路由

转载 作者:行者123 更新时间:2023-12-01 12:16:19 25 4
gpt4 key购买 nike

通常我必须在我的 IdP 注册授权回调 url/redirect_url。

但是,如果该 redirect_url 始终是用户试图在未经授权的状态下激活的那个,那将意味着我必须在我的 IdP 上注册所有 1000 条可能的路由。

那不能解决!

那我还能做什么?

更新

我使用用于基于 javascript 的应用程序的隐式流。

最佳答案

不知道你用的是哪个流。我将假设隐式流程,但可以调整此解决方案。

大多数客户通过专门的 http://mypage/login-callback 来解决这个问题。路线。因此,您只需将此路由注册为 redirect_uri .在重定向到 OIDC 身份验证端点之前,您“保存”了用户请求的路由。通过设置 cookie 或将其存储在 sessionstorage .一旦重定向到 login-callback您提取 token 并检查 cookie/localstorage key ,然后再进行一次重定向。

这是一个使用 oidc-client 的随机角度示例:

async completeAuthenticationAsync() {
// complete login, get tokens etc...
this.user = await this.manager.signinRedirectCallback();
this.emitState();
// check for previously saved URI
var redirect = sessionStorage.getItem("auth:redirect");
if(redirect){
// redirect to route - this is using the angular router
sessionStorage.removeItem("auth:redirect")
this.router.navigate([redirect]);
}
else {
// redirect to start page
this.router.navigate([""]);
}
}

编辑:由于您正在寻找官方来源并标记了 Identity Server 4,因此他们在其 Javascript 客户端示例中进行了双重重定向:
http://docs.identityserver.io/en/release/quickstarts/7_javascript_client.html

关于openid - 如何在登录后重定向到 url 之前而不在我的 IdP 注册所有客户端路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47920549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com