尽管已通过onelogin.com成功通过身份验证,但我无法在ASP MVC .NetCore 2.0上登录用户。
我的身份验证似乎是这样的:
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
})
.AddCookie()
.AddOpenIdConnect(oauthOptions =>
{
oauthOptions.ClientId = "b6514a30-c3dc-0136-0d4f-0685c268206c137310";
oauthOptions.ClientSecret = "secret";
oauthOptions.Authority = "https://adastra-dev.onelogin.com/oidc";
oauthOptions.ResponseType = OpenIdConnectResponseType.Code;
oauthOptions.GetClaimsFromUserInfoEndpoint = true;
oauthOptions.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
oauthOptions.GetClaimsFromUserInfoEndpoint = true;
oauthOptions.Events = new OpenIdConnectEvents()
{
OnTicketReceived = (context) =>
{
ClaimsIdentity identity = (ClaimsIdentity)context.Principal.Identity;
return Task.CompletedTask;
},
OnRedirectToIdentityProvider = (context) =>
{
context.ProtocolMessage.RedirectUri = "https://0b30aa57.ngrok.io/home/index";
return Task.FromResult(0);
}
};
oauthOptions.SaveTokens = true;
});