Instalación de Lock
Fuentes de instalación
npm install auth0-lock
Instale con bower:
bower install auth0-lock
Inclúyalo a través de nuestro CDN (reemplace .x y .y por los números de la versión minor y patch más recientes del repositorio de GitHub de Lock:
Última versión minor:<script src="https://cdn.auth0.com/js/lock/11.x/lock.min.js"></script>Última versión patch:
<script src="https://cdn.auth0.com/js/lock/11.x.y/lock.min.js"></script>
Se recomienda que las aplicaciones de producción usen una versión patch específica o, como mínimo, una versión minor específica. Independientemente del método que use para incluir Lock, se recomienda fijar la versión y actualizarla solo manualmente, para garantizar que esas actualizaciones no afecten negativamente a su implementación. Consulte el repositorio de GitHub para ver la lista actual de versiones.
Móvil
head de la aplicación:
<meta name="viewport" content="width=device-width, initial-scale=1"/>
Empaquetar dependencias
auth0-lock, tendrás que incluirlo en el paquete junto con todas sus dependencias. Hay ejemplos disponibles para Browserify y webpack.
Autenticación entre orígenes
Uso
Paso 1. Inicializar Lock
Auth0Lock y proporcionarle tu de Auth0 (el ID de cliente único de cada aplicación de Auth0, que puedes obtener en el Dashboard de administración) y tu dominio de Auth0 (por ejemplo, yourname.auth0.com).
Paso 2. Autenticación y obtención de información del usuario
authenticated con el método on. Cuando se produzca, use el accessToken recibido para llamar al método getUserInfo y obtener la información del perfil del usuario, según sea necesario.
Luego, puede manipular el contenido de la página y mostrar información del perfil al usuario (por ejemplo, mostrar su nombre en un mensaje de bienvenida).
<h2>Bienvenido <span id="nick" class="nickname"></span></h2>
Tenga en cuenta que, si almacena el perfil del usuario, le convendrá aplicar JSON.stringify al objeto de perfil y, cuando vuelva a utilizarlo más adelante, JSON.parse, ya que deberá almacenarse en localStorage como una cadena en lugar de como un objeto JSON.
Paso 3. Mostrar Lock
lock.show(); al cargarla.
Esto mostrará el widget Lock y, junto con lo anterior, ya estás listo para gestionar los inicios de sesión.
Sin contraseña
Auth0LockPasswordless en lugar de Auth0Lock:
Opciones de inicio de sesión sin contraseña
allowedConnections y establezca email o sms como valor:
email, tiene una opción adicional para elegir: si desea que sus usuarios reciban un code para introducir o un “enlace mágico” para usar. Esto se configura mediante la opción passwordlessMethod, que acepta los valores code o link.
Ejemplo de autenticación sin contraseña
Inicio de sesión único con autenticación embebida
- Ambas aplicaciones que intentan usar SSO deben ser aplicaciones de primera parte. El SSO con aplicaciones de terceros no funcionará.
- Deben usar dominios personalizados, y tanto las aplicaciones que quieran usar SSO como el inquilino de Auth0 deben estar en el mismo dominio. Tradicionalmente, los dominios de Auth0 tienen el formato
foo.auth0.com, pero los dominios personalizados le permiten usar el mismo dominio para cada una de las aplicaciones en cuestión, así como para su inquilino de Auth0, lo que evita el riesgo de ataques CSRF.
Códigos de error y descripciones
/co/authenticate, que puede devolver los siguientes errores.
La descripción del error es legible para humanos. No debe ser procesada por código alguno y puede cambiar en cualquier momento.
| Estado | Código | Descripción |
|---|---|---|
| 400 | invalid_request | Cuerpo de la solicitud no válido. Se requieren todos y solo client_id, credential_type, username, otp y realm. |
| 401 | unauthorized_client | No se permite el inicio de sesión entre orígenes. |
| 400 | unsupported_credential_type | Parámetro de tipo de credencial desconocido. |
| 400 | invalid_request | Realm desconocido: non-existent-connection. |
| 403 | access_denied | Correo electrónico o contraseña incorrectos. |
| 403 | access_denied | Error de autenticación |
| 403 | blocked_user | Usuario bloqueado |
| 401 | password_leaked | Este intento de inicio de sesión se ha bloqueado porque la contraseña que estás usando ya se había visto comprometida en una filtración de datos (no en esta aplicación). |
| 429 | too_many_attempts | Tu cuenta se ha bloqueado tras varios intentos consecutivos de inicio de sesión. Te hemos enviado una notificación a través de tu método de contacto preferido con instrucciones para desbloquearla. |
| 429 | too_many_attempts | Hemos detectado un comportamiento de inicio de sesión sospechoso y se bloquearán más intentos. Ponte en contacto con el administrador. |