繁体   English   中英

Asp.net OWIN身份刷新令牌和令牌过期

[英]Asp.net OWIN Identity refresh tokens and token expiration

我正在尝试找到有关在新ASP.net身份框架中使用默认OAuth Bearer令牌提供程序来处理令牌过期和刷新单页JavaScript应用程序中的令牌的良好指导。 我了解以下内容-

  • 应该指定一个较短的access_token生存期(默认为14天,但最好是5-20分钟)

  • 您可以指定从IAuthenticationTokenProvider继承的RefreshTokenProvider

  • 刷新令牌将从OWIN端点添加到OAuth令牌响应中

  • 从理论上讲,您现在可以使用Refresh令牌和“ refresh_token”授权类型来请求新令牌

我不明白的是-

  • 将刷新令牌发送回令牌响应中似乎不安全? 如果中间有一个人要拦截,他们将拥有请求新令牌所需的一切。

  • 授予刷新令牌通常与验证客户端ID和客户端密钥有关。 据我所知,不可能将它们安全地存储在JS SPA中。

因此,现在我不知道从这里去哪里。我能想到的就是强制我的用户在令牌到期后注销并重新登录,重新发送初始密码授予。

将刷新令牌发送回令牌响应中似乎不安全? 如果中间有一个人要拦截,他们将拥有请求新令牌所需的一切。

SSL

授予刷新令牌通常与验证客户端ID和客户端密钥有关。 据我所知,不可能将它们安全地存储在JS SPA中。

您在这里绝对正确。 ClientSecret无法保留在客户端上。 因此,您只需拥有一个服务器端端点即可从当前用户会话返回一个新的访问令牌。 这里的想法是将刷新令牌保留在服务器上,并且当客户端需要新的访问令牌时,它将请求此端点。 显然,将需要对客户端进行身份验证,这可以通过常见的ASP.NET身份验证来实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM