Csharp/C#教程:AspNet.Security.OpenIdConnect.Server。 刷新令牌分享


AspNet.Security.OpenIdConnect.Server。 刷新令牌

据我所知,ASOS支持开箱即用的刷新令牌。 要获取刷新令牌,我需要将offline_access范围添加到我的令牌请求中。 但他们在哪里储存? 如何更改令牌的到期日期或将其删除? 如何确定创建哪个用户刷新令牌?

但他们在哪里储存?

默认情况下,它们无处存储:它们是自包含的。 只要用于保护刷新令牌的加密密钥仍在ASP.NET数据保护密钥环中,它们就可以由ASOS解密并用于发布新的访问令牌。


如何更改令牌的到期日期?

可以使用RefreshTokenLifetime属性从选项中全局设置默认的到期日期。 如果您不提供自己的生命,它们有效期为14天。

请注意,默认情况下也会启用滑动过期,这意味着每次发出新的grant_type=refresh_token请求时,您都会获得一个新的刷新令牌(有效期为14天)。 您可以通过将UseSlidingExpiration设置为false来禁用滑动到期。


…还是删除它?

由于刷新令牌是自包含的,因此您无法删除它们。 您当然可以考虑通过重写SerializeRefreshTokenDeserializeRefreshToken事件来使用自定义标记(如对应于数据库中条目的唯一字符串),但建议的方法是在接收刷新标记请求时将它们视为无效。

为此,您可以覆盖HandleTokenRequest事件并调用context.Reject()如果您认为refresh_token已被撤销且无法用于发出新令牌。


如何确定创建哪个用户刷新令牌?

刷新令牌包含您在创建原始身份validation票证时添加的所有声明 ,因此,如果添加与用户标识符对应的sub声明,则可以使用它来从数据库中检索用户配置文件。

上述就是C#学习教程:AspNet.Security.OpenIdConnect.Server。 刷新令牌分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/986845.html

(0)
上一篇 2021年12月22日
下一篇 2021年12月22日

精彩推荐