Quiero implementar el inicio de sesión de Linkedin en mi aplicación. Uso Owin.Security.Providers, Owin.Security.Providers.Linkedin
Mi inicio.Auth:
app.UseLinkedInAuthentication(new LinkedInAuthenticationOptions() { ClientId = "my_client_id", ClientSecret = "my_client_secret" });
Mi aplicación Linkedin:
Autenticación de la aplicación
Cuando hago clic en Iniciar sesión con Linkedin y presiono el botón "Permitir"
El programa llega a estos códigos.
// GET: /Account/ExternalLoginCallback [AllowAnonymous] public async Task<ActionResult> ExternalLoginCallback(string returnUrl) { var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); if (loginInfo == null) { return RedirectToAction("Login"); } // Sign in the user with this external login provider if the user already has a login var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false); var user = await UserManager.FindByEmailAsync(loginInfo.Email); switch (result) { case SignInStatus.Success: return RedirectToStep(user); case SignInStatus.LockedOut: return View("Lockout"); case SignInStatus.RequiresVerification: return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false }); case SignInStatus.Failure: default: // If the user does not have an account, then prompt the user to create an account ViewBag.ReturnUrl = returnUrl; ViewBag.LoginProvider = loginInfo.Login.LoginProvider; //return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email }); return RedirectToAction("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email }); } }
Pero el método que coloqué a continuación devuelve nulo
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
Sin embargo, los mismos códigos funcionan bien con el inicio de sesión de Facebook.
quisiera saber que me recomiendan