gpt4 book ai didi

aurelia - 在 Safari <=9 中处理成功的 OpenID Connect 授权响应

转载 作者:行者123 更新时间:2023-12-02 10:45:44 24 4
gpt4 key购买 nike

由于我们使用 OpenID Connect,因此我们需要 Aurelia 路由器来处理 OpenID Connect 授权响应,如下所示:

https://client.example.org/signin-oidc#
access_token=SlAV32hkKG
&token_type=bearer
&id_token=eyJ0 ... NiJ9.eyJ1c ... I6IjIifX0.DeWt4Qu ... ZXso
&expires_in=3600
&state=af0ifjsldkj

为了做到这一点,我们将路由器设置为这样的推送状态。

// switch from hash (#) to slash (/) navigation
routerConfig.options.pushState = true;

这可以在大多数网络浏览器中成功运行。 Aurelia 路由器处理/signin-oidc 路由,客户端代码可以访问该片段。很好。

然而,在 Yosemite 上的 Safari <= 9.0 中存在问题,因为 WebKit bug #24701删除重定向上的片段,成功的 OpenID Connect 授权响应是重定向(302 Found)。结果:浏览器只发送以下内容,缺少片段。不好。

https://client.example.org/signin-oidc

解决方法是在哈希值前面添加一个正斜杠:

https://client.example.org/signin-oidc/#
access_token=SlAV32hkKG
&token_type=bearer
&id_token=eyJ0 ... NiJ9.eyJ1c ... I6IjIifX0.DeWt4Qu ... ZXso
&expires_in=3600
&state=af0ifjsldkj

这解决了 WebKit 错误,并且 Yosemite 上的 Safari <= 9 包含该片段。

解决了吗?不。

该解决方法会破坏 Aurelia 路由器,使其无法再理解 URI 的 /# 部分。我们如何设置 Aurelia 路由器来处理来自 OpenID Connect 授权服务器的成功授权响应?

最佳答案

我们的官方支持政策是,我们仅支持最新版本的常青浏览器(IE 不是常青浏览器,因此我们支持 IE9+)。如果可以创建一个不会损害性能或破坏当前浏览器的修复程序,我们将采取 PR。

关于aurelia - 在 Safari <=9 中处理成功的 OpenID Connect 授权响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41528624/

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