var ticket = new AuthenticationTicket(identity, new AuthenticationProperties());
var currentUtc = new SystemClock().UtcNow;
ticket.Properties.IssuedUtc = currentUtc;
ticket.Properties.ExpiresUtc = currentUtc.Add(TimeSpan.FromMinutes(expirationMinutes));
string accessToken = oAuthBearerAuthenticationOptions.AccessTokenFormat.Protect(ticket);
3 回答
你从哪里获得令牌?令牌很少加密(有时它们是),但它们将始终被编码(和签名) . OpenID(OAuth2之上的协议)使用JWT . OAuth2(不是OpenID)使用“不透明”令牌 .
有关解码JWT的库,请参阅http://jwt.io .
这是一个使用
MachineKeyDataProtector
解密OAuth 2.0承载令牌的Windows Forms tool .因此,如果您的应用程序托管在IIS中,则可以使用上述工具 .
OAuth 2.0 Bearertoken获得:
序列化为二进制格式
MachineKey已加密(当应用程序自托管时使用DPAPI等)
Base64编码
这是一个简短的答案,我有时间 . OAuthBearerTokenOptions包含创建令牌所需的代码 . 它必须在你的owin启动中配置 .
鉴于...