因此IdentityServer3将授权数据存储在令牌表中。我要弄清楚的是它如何创建与访问令牌或刷新令牌相对应的密钥?
如果我检查IdentityServer3的代码,则显示如下:
Token accessToken = await _tokenService.CreateAccessTokenAsync(tokenRequest);
string refreshToken = "";
if (createRefreshToken)
{
refreshToken = await _refreshTokenService.CreateRefreshTokenAsync(tokenRequest.Subject, accessToken, request.Client);
}
var securityToken = await _tokenService.CreateSecurityTokenAsync(accessToken);
当我使用收到的访问令牌进行验证时,如何根据该访问令牌找出相应的安全令牌?
我正在尝试解码存储在数据库中的数据,以便IdentityServer3迁移到我们已构建的新授权服务器。这可能吗?
我知道了。
身份服务器3的功能(用于存储在数据库中的密钥):
1. It generates an access token and refresh token.
2. For these generated tokens, it creates UTF-8 encoded bytes
3. It hashes the byte data with SHA-256 algorithm
4. And it Base64 encode hashed data from step 3.