我的Jwt令牌如下所示:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9leGFtcGxlLm9yZyIsImF1ZCI6Imh0dHA6XC9cL2V4YW1wbGUuY29tIiwiaWF0IjoxMzU2OTk5NTI0LCJuYmYiOjEzNTcwMDAwMDAsImV4cCI6MTQwNzAxOTYyOSwianRpIjoiaWQxMjM0NTYiLCJ0eXAiOiJodHRwczpcL1wvZXhhbXBsZS5jb21cL3JlZ2lzdGVyIiwidGVzdC10eXBlIjoiZm9vIn0.UGLFIRACaHpGGIDEEv-4IIdLfCGXT62X1vYx7keNMyc
如果我复制上面的JWT令牌并将其粘贴到https://jwt.io/,那么实际信息就会显示为
我想加密JWT令牌,没有人可以在Web Api中访问我的信息。所以,我想使用任何加密算法,如果是这样,请提供适当的解决方案
这是我的Startup.cs文件,用于授权JWT令牌。
// Api controllers with an [Authorize] attribute will be validated with JWT
app.UseJwtBearerAuthentication(
new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AllowedAudiences = new[] { audience },
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
{
new SymmetricKeyIssuerSecurityTokenProvider(issuer, secret)
}
});
}
答案 0 :(得分:2)
为什么您认为某人可以看到此信息是一个问题?如果您使用JWT进行身份验证,那么只有经过身份验证的用户才会获得此令牌,并且可能包含有关此用户的信息。因此,用户能够看到有关他自己的信息并没有什么坏处。
最重要的是,令牌是mac,因此没有人可以伪造它并伪装成另一个用户,这应该足够了。
正如评论中所提到的,无论如何你都应该使用TLS,因此它在转换过程中被加密了。