基于OAuth2的OIDC (OpenId Connect) 身份认证
Authorize at web app with access token from web api
Implementing an OpenIddict Authorization server: A Basic Authorization Server
基于OIDC(OpenID Connect)的SSO(纯JS客户端)
OpenIddict 加入自定义 handler
options.AddEventHandler<OpenIddict.Server.OpenIddictServerEvents.HandleIntrospectionRequest>(notification =>
{
var context = notification.Context;
if (context.Claims.ContainsKey(OpenIdConnectConstants.Claims.Role))
{
context.Claims[OpenIdConnectConstants.Claims.Role] = new OpenIdConnectParameter(new [] {"admin", "user" }); //Exception in internal processing
/*
result:
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware: Error: An unhandled exception has occurred while executing the request.
System.Threading.Tasks.TaskCanceledException: A task was canceled.
at AspNet.Security.OpenIdConnect.Server.OpenIdConnectServerHandler.SendPayloadAsync(OpenIdConnectResponse response)
at AspNet.Security.OpenIdConnect.Server.OpenIdConnectServerHandler.SendIntrospectionResponseAsync(OpenIdConnectResponse response)
at AspNet.Security.OpenIdConnect.Server.OpenIdConnectServerHandler.InvokeIntrospectionEndpointAsync()
at AspNet.Security.OpenIdConnect.Server.OpenIdConnectServerHandler.HandleRequestAsync()
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
*/
//context.Claims.Add(OpenIdConnectConstants.Claims.Role, "user"); //Exception: System.ArgumentException: "An item with the same key has already been added. Key: role"
}
return Task.FromResult(OpenIddict.Server.OpenIddictServerEventState.Unhandled);
});
C# - How To Create a JWT
Decode JWTs in C# for Authorization
Creating And Validating JWT Tokens In ASP.NET Core
------------------------------------------------------------------------------------------------------------------------------------------
IdentityServer4 资源服务器 Token 验证大全
在ASP.NET中实现OAuth2.0(二)之打造自己的API安全策略
使用DotNetOpenAuth搭建OAuth2.0授权框架
授权篇-自定义授权方式
IdentityServer4 授权中心之自定义授权模式
-----------------------------------------------------------------------------------------------------------------------------------------------------
ASP.NET WebApi OWIN 实现 OAuth 2.0
IdentityServer4 实现 OpenID Connect 和 OAuth 2.0
IdentityServer4实现Token认证登录以及权限控制
