基於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認證登錄以及權限控制
