[英]Blazor Authentication - Refresh Token for JWT token
我的身份验证基于此 git hub 存储库。
https://github.com/chrissinty/AuthenticationWithClientSideBlazor
我只是想知道是否有人对如何实现刷新令牌有任何建议,因为目前我尝试过的一切都失败了。
blazor 什么时候重新检查身份验证,因为我收集的是它在加载时检查,所以当我的令牌过期但仍然登录时,我会收到未经授权的 http 错误。 我不想注销用户重新进行身份验证。
这是一个 blazor web 程序集应用程序。
任何建议将不胜感激!
总体思路是:
服务器:
private string GenerateRefreshToken()
{
Random random = new Random();
byte[] baseBytes = new byte[128];
random.NextBytes(baseBytes);
return Convert.ToBase64String(baseBytes);
}
在这里,您使用刷新令牌再次登录您的用户。 因为您存储了刷新令牌,所以您确切地知道哪个用户想要再次登录。 延长(或不,选择您的方法)此特定刷新令牌的到期日期。
客户:
await _localStorage.SetItemAsync("refreshToken", loginResult.RefreshToken);
检查常规令牌是否过期。 您可以通过多种方式做到这一点:
在每个请求之前反序列化令牌并检查到期日期动态操作:当您从服务器收到 401 时设置计时器以在令牌到期前重新登录或选择其他内容
使用刷新令牌和新创建的端点重新登录
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.