我正在使用ASP.Net MVC6开发应用程序,想要使用承载令牌实现OAuth2认证。但是我找不到关于是否可以实现的可靠信息,请问有没有人能给我指点方向?
我正在使用ASP.Net MVC6开发应用程序,想要使用承载令牌实现OAuth2认证。但是我找不到关于是否可以实现的可靠信息,请问有没有人能给我指点方向?
TL;DR: 微软为ASP.NET Core开发的官方包只支持OAuth2承载令牌验证。
这意味着...
... you'll be able to authenticate your users using bearer tokens issued by an external identity provider (like Azure Active Directory) with the Microsoft.AspNetCore.Authentication.JwtBearer
package:
app.UseJwtBearerAuthentication(new JwtBearerOptions
{
AutomaticAuthentication = true,
Audience = "http://localhost:50000/",
// Authority is only useful if your JWT tokens
// are issued by an OpenID Connect server.
Authority = "[OpenID Connect provider address]",
// If you don't use an OpenID Connect server, you have to manually update the
// token validation parameters with the issuer's signing key.
TokenValidationParameters = new TokenValidationParameters
{
IssuerSigningKey = new X509SecurityKey(certificate)
}
});
OAuthAuthorizationServerMiddleware
。 - Kévin Chaletcertificate
变量是一个 X509Certificate2
实例(你可以从文件中创建),但是还有其他重载支持从程序集的嵌入资源中提取证书 (参见此处) 或从 X509 机器存储中提取证书(最佳选项)。话虽如此,我不确定你的“base64编码密钥”是否是 X509 证书。如果您想生成自己的证书,请查看 https://msdn.microsoft.com/en-us/library/ff699202.aspx。 - Kévin Chalet