El plugin Laravel OAuth Single Sign-On (SSO) permite habilitar el inicio de sesión único (SSO) de OAuth para tus aplicaciones Laravel. Con el inicio de sesión único, puedes usar una sola contraseña para acceder a tu aplicación y servicios Laravel. Nuestro plugin es compatible con todos los proveedores de identidad compatibles con OAuth. Aquí te mostramos una guía paso a paso para configurar el inicio de sesión único (SSO) entre Laravel y AWS Cognito, considerando a AWS Cognito como proveedor de OAuth. Para obtener más información sobre otras funciones que ofrecemos en el plugin Laravel OAuth client single-sign-on-sso, puedes hacer clic aquí.
Instalación del paquete de cliente Laravel Oauth
- Abra una ventana del símbolo del sistema y cambie el directorio de trabajo a su Directorio principal de la aplicación Laravel.
- Ingrese el siguiente comando.
composer require miniorange/oauth-laravel-free
- Después de la instalación exitosa del paquete, vaya a su aplicación Laravel en el navegador e ingrese
{laravel-application-domain}/mo_oauth_admin
- El paquete comenzará a configurar su base de datos y luego lo redirigirá a la página de registro de administrador.
- Regístrese o inicie sesión con su cuenta miniOrange para configurar el complemento.
- Después de iniciar sesión, verá el Configuración del proveedor de OAuth opción, donde obtendrá la URL de redireccionamiento/devolución de llamada. Téngalo a mano, ya que será necesario más adelante para configurar el complemento SSO de inicio de sesión único de AWS cognito.
Pasos para configurar el inicio de sesión único (SSO) de AWS cognito en Laravel
1. Configure AWS Cognito como proveedor de OAuth
- En primer lugar, ve a Consola de Amazon y regístrese/inicie sesión en su cuenta para configurar AWS Cognito.
- Busque Cognito en el Servicios de AWS barra de búsqueda como se muestra a continuación.
- Haga clic en Administrar grupos de usuarios para ver la lista de sus grupos de usuarios.
- Haga clic en Crear un grupo de usuarios para crear un nuevo grupo de usuarios.
- Agregue un Nombre del grupo y haga clic en el ícono de Revisar valores predeterminados botón para continuar.
- Desplácese hacia abajo y haga clic en "Agregar cliente de aplicación" y luego haga clic nuevamente en Agregar un cliente de aplicación.
- Ingrese una Nombre del cliente de la aplicación y haga clic en Crear cliente de aplicación para crear un cliente de aplicación.
- Haga clic en Volver a los detalles de la piscina para volver a su configuración.
- Haga clic en Crear grupo para guardar su configuración y crear un grupo de usuarios.
- En la barra de navegación presente en el lado izquierdo, haga clic en el Configuración del cliente de la aplicación en la sección de Integración de aplicaciones .
- Habilitar proveedor de identidad como Grupo de usuarios de Cognito y entra tu URL de devolución de llamada/redireccionamiento que obtendrá de su paquete laravel oauth presente en el URL de redireccionamiento/devolución de llamada campo de texto. Seleccionar Concesión del código de autorización casilla de verificación debajo de Flujos de OAuth permitidos y también seleccionar abierto y perfiles casillas de verificación debajo de Ámbitos de OAuth permitidos opción (consulte la imagen a continuación). Clickea en el Guardar Cambios botón para guardar sus configuraciones.
- Haga clic en Elija el nombre de dominio opción para establecer un nombre de dominio para su aplicación.
- Vaya al nombre de dominio e ingrese un nombre de dominio para su aplicación. Después de agregar el nombre de dominio, puede verificar su disponibilidad haciendo clic en “Consultar disponibilidad” botón. Después de ingresar un nombre de dominio válido, haga clic "Guardar cambios" .
- Nombre de dominio completo: Copia el nombre de dominio completo {su nombre de dominio}.auth.{nombre de región}.amazoncognito.com. Debe ingresar esto en el campo de puntos finales debajo en el paquete laravel OAuth Single Sign-On (SSO).
- Vaya al “Cliente de aplicación” y haga clic en "Mostrar detalles" para obtener una identificación de cliente y un secreto de cliente. (Mantenga a mano la identificación del cliente y el secreto del cliente, ya que los necesitará más adelante).
- Haga clic en Usuarios y grupos en la sección de Ajustes generales menú en la barra de navegación del lado izquierdo. Luego, haga clic en el Crear usuario botón para agregar un nuevo usuario.
- Complete todos los datos requeridos y haga clic en Crear usuario.
- Podrás ver el nuevo usuario creado.
2. Configure el complemento Laravel OAuth como cliente OAuth
- Vaya a la miniOrange Laravel OAuth SSO paquete y haga clic en Elija Cognito como proveedor de OAuth.
- Escriba el ID de cliente y Secreto del cliente de AWS cognito Cliente de la aplicación .
- Consulte la siguiente tabla para configurar el <b></b><b></b> y Endpoints O bien, después de seleccionar el alcance de Cognito y los puntos finales se agregarán automáticamente en sus respectivos campos:
| Alcance: |
abierto |
| Autorizar punto final: |
https://<cognito-app-domain>/oauth2/authorize |
| Punto final del token de acceso: |
https://<cognito-app-domain>/oauth2/token |
| Obtener punto final de información de usuario: |
https://<cognito-app-domain>/oauth2/userInfo |
- Puede enviar las credenciales del cliente en encabezamiento y enviar estado parámetro en consecuencia también introduzca atributo de inicio de sesión según su requerimiento.
- Haga clic en guardar ajustes botón. Después de eso, haga clic en configuración de prueba botón. Obtendrá la lista de nombres de atributos y valores de atributos enviados por su proveedor de OAuth.
3. Opciones de inicio de sesión único
- También puede utilizar un enlace para iniciar sesión a través de su proveedor de OAuth/OpenID.
- Este enlace está en el formato:
{laravel-application-domain}/ssologin.php?option=oauthredirect
4. Soporte / Demostración
- Soporte y Solicitud de prueba/demostración Las pestañas están disponibles para que los clientes se comuniquen con nosotros para obtener demostraciones y soporte.
En esta guía, ha configurado correctamente el inicio de sesión único (SSO) de AWS Cognito utilizando Laravel como cliente OAuth. Esta solución le permite implementar el acceso seguro a su sitio Laravel mediante las credenciales de inicio de sesión de AWS Cognito en cuestión de minutos.
Más Recursos