程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了刷新令牌是否与 OIDC IdentityServer Azure AD SSO 实施相关?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决刷新令牌是否与 OIDC IdentityServer Azure AD SSO 实施相关??

开发过程中遇到刷新令牌是否与 OIDC IdentityServer Azure AD SSO 实施相关?的问题如何解决?下面主要结合日常开发的经验,给出你关于刷新令牌是否与 OIDC IdentityServer Azure AD SSO 实施相关?的解决方法建议,希望对你解决刷新令牌是否与 OIDC IdentityServer Azure AD SSO 实施相关?有所启发或帮助;

我有一个 IDentityServer4 的实现,它与 Azure AD 连接以进行身份​​验证 (OIDC)。在回调方法中,使用 IDentityServertools,我正在生成 access_token 并将用户重定向到 SPA。然后 SPA 将 access_token 存储到 localstorage 中并将其用于身份验证。@H_874_3@

通常,当我的 SPA 应用访问 IDentityServer4 的令牌端点时,它会提供 access_token 和 refresh_token,然后使用 refresh_token 重新验证返回的用户。@H_874_3@

在这种使用 Azure AD 的 SSO 的情况下,我是否需要手动生成 refresh_token?如果是,我可以在默认实现的基础上进行构建,这不是问题 (However,the docs suggest against of changing the IrefreshTokenservice implementation or building something from scratch)@H_874_3@

我真正的问题是,这里需要 refresh_token 吗?因为 refresh_tokens 存储在数据库中并且永远不会被删除,一段时间后,这些 refresh_tokens 表会膨胀(现在它已经有 80k 行)。用户应该点击 SAP successfactor 内的一个小磁贴——这将打开 Azure 的登录/同意屏幕,或者将直接将用户带到主页面,zhe 将在那里回答问题并完成。所以这几乎不是 2-3 分钟的业务。因此,我可以继续为每次点击从我的 IDentityServer4 生成 access_tokens,因为如果用户从 SAP 的 successfactor(或与 Azure 链接的任何其他应用程序)注销,我不希望用户在浏览器中保持身份验证。@H_874_3@

请指教,我是否应该生成refresh_token?这是一个好的架构吗?@H_874_3@

解决方法

访问令牌用于证明允许请求访问资源(例如来自ms的api或您的自定义api),刷新令牌用于刷新访问令牌以确保访问令牌未过期。默认情况下,访问令牌将在一个小时内过期,而刷新令牌有 90 天。@H_874_3@

此时我们不难发现refresh token是为一些特殊场景设计的,因为refresh token的过期时间比access token的过期时间长很多,但是我们也可以通过其他方式生成一个新的access token,比如使用 msal 或重新登录。@H_874_3@

正如您在问题中所说,您可以一键生成访问令牌,并且您不希望用户长时间保持身份验证。所以我认为你没有必要使用刷新令牌。@H_874_3@

大佬总结

以上是大佬教程为你收集整理的刷新令牌是否与 OIDC IdentityServer Azure AD SSO 实施相关?全部内容,希望文章能够帮你解决刷新令牌是否与 OIDC IdentityServer Azure AD SSO 实施相关?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:SSO