Inicio de sesión de Google con una aplicación ASP.NET MVC existente
Estoy tratando de manejar el inicio de sesión de Google en mi aplicación ASP.NET MVC existente. Tiene una autenticación de formularios desarrollada personalmente y funciona bien para nombre de usuario y contraseña.
Quiero agregar el inicio de sesión de Google a este proyecto. Actualmente agregué el botón, creé la aplicación en la consola de desarrolladores de Google, obtuve mi ID y secreto, y configuré las URL.
Puedo ver el botón en la página de inicio de sesión, hacer clic, ver mi cuenta y foto, seleccionar cuenta.
En este punto, Google me envía algunos datos. Recibí en un método de acción un objeto de tipo lista de cadenas llamado “credential” que tiene una cadena en la primera posición. Pero no sé qué hacer a partir de aquí…
¿Alguien puede ayudarme con esto? ¿Qué documento debo usar?
Hasta ahora, estoy leyendo esto: https://developers.google.com/identity/gsi/web pero estoy atascado.
Lo que no quiero es esto:
https://learn.microsoft.com/en-us/aspnet/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on
Quiero manejar yo mismo las solicitudes necesarias (con cookies, verificación en la base de datos y mantener un seguimiento de los tokens) y obtener la información del usuario que Google proporciona por mí mismo en los métodos de acción de mi controlador.
Aquí hay una parte del código de la vista Razor:
Agregué este script:
Este método de acción puede recibir la cadena:
[HttpPost]
public ActionResult LoginWithGoogle(string[] credential)
{
ViewBag.Data = credential;
// Haré lo necesario aquí.
return View();
}
Notas:
-La identidad no está instalada y no se utilizará (a menos que sea imposible sin usarla).
-Mi versión de .Net Framework: 4.7.2
Gracias por la ayuda.
davy.ai
Para manejar el inicio de sesión de Google en tu aplicación ASP.NET MVC existente, puedes seguir los siguientes pasos:
Agrega un botón para el inicio de sesión de Google en tu página de inicio de sesión, con los atributos de datos adecuados.
Incluye en tu página el script de la biblioteca de cliente de inicio de sesión de Google, como ya lo has hecho.
En tu controlador de inicio de sesión, agrega un método de acción para manejar la solicitud de inicio de sesión de Google.
En este método, puedes usar la biblioteca Google Authenticator para intercambiar el código de autorización recibido de Google por un token de acceso y un token de actualización.
Puedes utilizar la biblioteca de cliente de API de Google para .NET para interactuar con las API de Google y obtener información del usuario.
Puedes encontrar más información sobre cómo implementar el flujo de inicio de sesión de Google utilizando las API de Google y C# en la documentación de Google:
https://developers.google.com/identity/protocols/oauth2/quickstart-native
https://developers.google.com/api-client-library/dotnet/apis/plus/v1
¡Espero que esto te sea útil!