Member 13700260 Ответов: 0

Недопустимое или отсутствующее состояние при использовании oauth Google .Чистое ядро


я сталкиваюсь с этой проблемой и пытаюсь с последних многих дней, я использую .net core 3.0 с google auth я настроил evertying и прекрасно работаю до тех пор, пока метод обратного вызова (return uri), где я получаю эту ошибку недействительным или отсутствующим состоянием...

Что я уже пробовал:

public IActionResult ExternalLogin(string provider, string returnUrl)
       {
           // provider = "Google";
           //Issue a challenge to external login middleware to trigger sign in process
           //return new ChallengeResult(provider);

           //var RedirectUri = "https://localhost:5001/Account/Externallogincallback";
           var RedirectUri = Url.Action("Externallogincallback", "Account",
            new { ReturnUri = returnUrl },"https");
           string userId = null;
           var properties = _signInManager.ConfigureExternalAuthenticationProperties(provider, RedirectUri,userId);
           //options.StateDataFormat.Protect(properties)
           return new ChallengeResult(provider, properties);
       }



автозагрузки.в CS

services.AddSession();
            services.AddAuthentication()

         .AddGoogle(options =>
         {


             IConfigurationSection googleAuthNSection = Configuration.GetSection("Authentication:Google");

             options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;
             options.ClientId = "968526748268-4qo60g0g10bnvm1i0l8hllo7dcdg4l8j.apps.googleusercontent.com";
             options.ClientSecret = "1B8awSbGR5jboG9oG4OmWrat";

             options.ClaimsIssuer = "https://www.googleapis.com/oauth2/v1/certs";
             //options.CallbackPath = "https://localhost:5001/Account/Externallogincallback";
             options.CallbackPath = new PathString("/Account/Externallogincallback");

           
             options.AuthorizationEndpoint = "https://accounts.google.com/o/oauth2/auth";
             options.TokenEndpoint = "https://oauth2.googleapis.com/token";
             //options.UserInformationEndpoint = "https://api.googleusercontent.com/user";
             options.UserInformationEndpoint = "https://www.googleapis.com/oauth2/v2/userinfo";
             options.SaveTokens = true;
             options.Scope.Add("https://www.googleapis.com/auth/user.birthday.read");
             options.ClaimActions.MapJsonKey("urn:google:picture", "picture", "url");
             options.ClaimActions.MapJsonKey("urn:google:locale", "locale", "string");
             options.SaveTokens = true;

0 Ответов