【发布时间】:2014-03-05 03:38:54
【问题描述】:
当用户通过身份验证时,我在响应授权标头中放置了一个签名令牌。
只有使用有效的签名令牌才允许对资源 URL 的每次进一步访问。
当我创建令牌并验证它时:
var principal = tokenHandler.ValidateToken(tokenString, validationParameters);
然后当签名密钥与得到的密钥相同时,我得到委托人(发出请求的用户)
用于创建令牌。
我可以在身份验证后和资源请求期间使用相同的签名密钥来验证我创建的这个类的令牌:
public static class ApiConstants
{
private static readonly RNGCryptoServiceProvider CryptoProvider = new RNGCryptoServiceProvider(new byte[33]);
private static byte[] key = new byte[32];
static ApiConstants()
{
CryptoProvider.GetBytes(key);
}
public static byte[] GetSignedKey()
{
return key;
}
}
我将这段代码放在一个静态类中是否有什么问题,这实际上是我的全部目的,因为我希望用随机数填充字节数组只发生一次!?
还有什么可以改进的吗?
【问题讨论】:
标签: security asp.net-web-api token jwt