Identity Server 3 Authentication/Authorization,具有 ASP.NET CORE 1.0
Identity Server 3 Authentication/Authorization, with ASP.NET CORE 1.0
我目前正在开发一个 RESTful 项目,它建立在 ASP.NET Core 1.0 之上,连接到 Identity Server 3。我在 ConfigureServices 方法中为所有控制器设置了一个全局 [Authorize] 过滤器在 Startup.cs.
我现在尝试从 CORE 1.0 项目的 Startup.cs 中针对我的 Identity Server 3 的 AJAX 请求验证我的承载令牌,从而授权我的控制器资源。
与(经典)ASP.NET 4.5 相比,ASP.NET CORE 1.0 似乎发生了很大变化。
你有什么想法可以实现吗?如何在 ASP.NET Core 1.0 中验证我的令牌?
非常感谢!
更新
在 Asp.net 4.5 中我可以使用 app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions(){...}) 但这在ASP.NET 核心 1.0.
相反,我尝试使用以下内容:
var connectOptions = new OpenIdConnectOptions
{
Authority = Configuration["IdentityServerSettings:CoreUrl"],
ClientId = Configuration["IdentityServerSettings:ClientId"],
ClientSecret = Configuration["IdentityServerSettings:ClientSecret"],
PostLogoutRedirectUri = Configuration["IdentityServerSettings:PostLogoutRedirectUri"],
ResponseType = OpenIdConnectResponseType.Code
};
app.UseOpenIdConnectAuthentication(connectOptions);
不幸的是,我得到的只是 HTTP 302...
我想你的要求是你想使用 Bearer Token Authentication 中间件。
您要找的包裹是"Microsoft.AspNetCore.Authentication.JwtBearer": "1.0.0"
可以使用IdentityServer4.AccessTokenValidation来解决这个问题:)
app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions()
{
ScopeName = Configuration["IdentityServerSettings:ApiScopes"],
Authority = Configuration["IdentityServerSettings:CoreUrl"]
});
我目前正在开发一个 RESTful 项目,它建立在 ASP.NET Core 1.0 之上,连接到 Identity Server 3。我在 ConfigureServices 方法中为所有控制器设置了一个全局 [Authorize] 过滤器在 Startup.cs.
我现在尝试从 CORE 1.0 项目的 Startup.cs 中针对我的 Identity Server 3 的 AJAX 请求验证我的承载令牌,从而授权我的控制器资源。
与(经典)ASP.NET 4.5 相比,ASP.NET CORE 1.0 似乎发生了很大变化。
你有什么想法可以实现吗?如何在 ASP.NET Core 1.0 中验证我的令牌?
非常感谢!
更新
在 Asp.net 4.5 中我可以使用 app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions(){...}) 但这在ASP.NET 核心 1.0.
相反,我尝试使用以下内容:
var connectOptions = new OpenIdConnectOptions
{
Authority = Configuration["IdentityServerSettings:CoreUrl"],
ClientId = Configuration["IdentityServerSettings:ClientId"],
ClientSecret = Configuration["IdentityServerSettings:ClientSecret"],
PostLogoutRedirectUri = Configuration["IdentityServerSettings:PostLogoutRedirectUri"],
ResponseType = OpenIdConnectResponseType.Code
};
app.UseOpenIdConnectAuthentication(connectOptions);
不幸的是,我得到的只是 HTTP 302...
我想你的要求是你想使用 Bearer Token Authentication 中间件。
您要找的包裹是"Microsoft.AspNetCore.Authentication.JwtBearer": "1.0.0"
可以使用IdentityServer4.AccessTokenValidation来解决这个问题:)
app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions()
{
ScopeName = Configuration["IdentityServerSettings:ApiScopes"],
Authority = Configuration["IdentityServerSettings:CoreUrl"]
});