Guía para desarrolladores
Integre Iniciar sesión con Auto Secure Login
Todo lo que sigue es OpenID Connect estándar. Lea los endpoints del documento de descubrimiento en lugar de copiarlos; ahí también aparecen los tipos de respuesta, los métodos PKCE y los algoritmos de firma admitidos. En las tablas, <slug> representa su ID de cliente.
Endpoints
| Emisor | https://login.autosecurelogin.com/ |
|---|---|
| Descubrimiento | https://login.autosecurelogin.com/ |
| Autorización | https://login.autosecurelogin.com/ |
| Token | https://login.autosecurelogin.com/ |
| UserInfo | https://login.autosecurelogin.com/ |
| Llaves (JWKS) | https://login.autosecurelogin.com/ |
| Cierre de sesión | https://login.autosecurelogin.com/ |
Alcances y afirmaciones
| Alcance | Lo que recibe |
|---|---|
openid (obligatorio) | sub, un identificador de usuario estable y opaco. Guarde este valor, no el correo. |
email | email y email_verified. Por ahora la marca siempre es false; verifique la dirección usted mismo si depende de ella. |
profile | name, given_name, family_name, preferred_username, nickname. Las apps externas nunca reciben los nombres de grupos de ASL. |
offline_access | Un token de actualización, válido por 30 días. |
Los tokens de acceso duran 10 minutos. Los tokens de identidad se firman con RS256; compruebe la firma contra el endpoint JWKS y luego iss, aud, exp y su nonce.
El flujo de inicio de sesión
- Envíe a la persona al endpoint de autorización con
response_type=code, suclient_id,redirect_uri,scope=openid email profile, unstatealeatorio, unnoncealeatorio y uncode_challengePKCE concode_challenge_method=S256. PKCE es obligatorio para clientes públicos y recomendado para todos. - La persona entra a ASL en inglés o en español: contraseña, llave de acceso o una cuenta vinculada de Google, Microsoft, Apple o GitHub, más su verificación en dos pasos. ASL pregunta una sola vez si permite su app; la respuesta se recuerda durante cuatro semanas.
- ASL regresa a su
redirect_uriconcodey sustate. Compruebestatey luego envíe por POST el código, la mismaredirect_uri, sucode_verifiery sus credenciales de cliente al endpoint de token. - Valide el token de identidad. Llame a UserInfo con el token de acceso si necesita las afirmaciones de nuevo.
- Para cerrar la sesión de la persona también en ASL, envíela al
end_session_endpointdel documento de descubrimiento.
Un ejemplo completo
Suponga que ShopCo registra una app web del lado del servidor y recibe el ID de cliente asl-ext-shopco para la URI de redirección https://shop.example.com/. Su enlace de inicio de sesión envía a la persona a https://login.autosecurelogin.com/ con estos parámetros, unidos con &:
client_id | asl-ext-shopco |
|---|---|
redirect_uri | https://shop.example.com/, codificada como URL |
response_type | code |
scope | openid email profile |
state | un valor aleatorio guardado en la sesión de la persona |
nonce | un segundo valor aleatorio guardado en la sesión |
code_challenge | base64url del SHA-256 de un code_verifier aleatorio |
code_challenge_method | S256 |
Cuando la persona permite ShopCo, ASL la regresa a https://shop.example.com/. El servidor de ShopCo comprueba state y luego envía por POST grant_type=authorization_code, el code, la misma redirect_uri, su code_verifier y su client_id y client_secret al endpoint de token. La respuesta trae el token de identidad, un token de acceso y, con offline_access, un token de actualización. ShopCo guarda sub como clave de la cuenta y muestra el nombre de la persona.
El botón
Use este botón, o uno propio que diga Iniciar sesión con Auto Secure Login. Apúntelo a su propia ruta que inicia el flujo. Nunca enlace una página estática directamente al endpoint de autorización, porque state, nonce y el reto PKCE deben ser nuevos en cada inicio de sesión.
Una vista previa del botón (no es un enlace de inicio de sesión real):
Iniciar sesión con Auto Secure Login
Copie las reglas .asl-signin de asl-signin.css a su hoja de estilos, aloje una copia de asl-mark.svg y use este marcado, con href apuntando a su propia ruta:
<a class="asl-signin" href="/auth/asl/login">
Agregue asl-signin--light a la lista de clases sobre un fondo claro. No dé a entender que ASL respalda su app y no altere la marca.
Reglas y límites
- Pida solo los alcances que use. No comparta lo que recibe con terceros sin el consentimiento de la persona y bórrelo cuando ella elimine su cuenta con usted.
- ASL puede desactivar una app en cualquier momento. Eso bloquea los nuevos inicios de sesión y revoca sus tokens.
- El valor
subes el mismo para una persona en todas las apps externas, así que dos apps podrían cruzar a sus usuarios. Trátelo como dato personal. email_verifiedhoy siempre esfalse. Una app que necesite una dirección verificada la verifica por su cuenta.- El registro, los cambios de URI de redirección, la rotación del secreto y la baja los hace ASL a petición; no hay una consola para desarrolladores.
- Las páginas de inicio de sesión se ofrecen en inglés y en español. Las páginas de su app son suyas.
Los términos del servicio se aplican a la cuenta ASL misma, y la página de seguridad explica cómo reportar un problema.

Para quién es. Una app web que quiere un botón de inicio de sesión sin operar su propio sistema de contraseñas y verificación en dos pasos. Una app móvil, de escritorio o de una sola página que no puede guardar un secreto y entra como cliente público con PKCE. Una herramienta hecha para una organización que ya usa productos ASL.