使用openid connect

时间:2018-11-07 11:34:05

标签: c# authentication openid-connect

尽管已通过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;
          });

0 个答案:

没有答案