我的 Jwt 令牌如下所示:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9leGFtcGxlLm9yZyIsImF1ZCI6Imh0dHA6XC9cL2V4YW1wbGUuY29tIiwiaWF0IjoxMzU2OTk5NTI0LCJuYmYiOjEzNTcwMDAwMDAsImV4cCI6MTQwNzAxOTYyOSwianRpIjoiaWQxMjM0NTYiLCJ0eXAiOiJodHRwczpcL1wvZXhhbXBsZS5jb21cL3JlZ2lzdGVyIiwidGVzdC10eXBlIjoiZm9vIn0.UGLFIRACaHpGGIDEEv-4IIdLfCGXT62X1vYx7keNMyc
如果我复制上面的 JWT 令牌并将其粘贴到 https://jwt.io/那么实际信息如下所示
图像
我想加密 JWT 令牌,没有人可以访问我在 Web API 中的信息。所以,我想使用任何加密算法,如果是这样,请为我提供适当的解决方案
这是我的启动.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)
}
});
}
为什么你认为有人可以看到这些信息是一个问题?如果使用 JWT 进行身份验证,则只有刚刚通过身份验证的用户才能获得此令牌,并且可能包含有关此用户的信息。因此,用户能够看到有关自己的信息并没有什么坏处。
最重要的是,令牌是mac的,因此没有人可以伪造它并假装是另一个用户,这应该足够了。
正如评论中提到的,无论如何您都应该使用 TLS,因此它在过渡中是加密的。