Saltar al contenido principal
De forma predeterminada, la Authentication API usa IDs de organización para identificar organizaciones específicas. Si es necesario, puedes configurar tu inquilino para que también use los nombres de las organizaciones como identificador. Sin embargo, hay implicaciones de usabilidad y seguridad que debes tener en cuenta antes de habilitar esta función. Para comprender mejor el posible impacto, revisa la sección Consideraciones y recomendaciones.

Cómo funciona

Configurar tu inquilino para admitir nombres de organización en la Authentication API genera lo siguiente:
  • El parámetro organization en los endpoints /authorize y SAML puede aceptar tanto nombres de organización como ID.
  • Los tokens de acceso y los incluyen automáticamente org_name y org_id como claims.
  • Las organizaciones se pueden configurar con dos nombres: un valor Name obligatorio que sirve como identificador lógico único y un Display Name opcional, más descriptivo para el usuario. El parámetro org_name solo acepta el valor Name obligatorio y no admite valores de Display Name.
  • Esta funcionalidad se administra a nivel de inquilino. No se puede habilitar individualmente para organizaciones específicas.
Puedes habilitar esta funcionalidad desde tu o mediante la :
  • Auth0 Dashboard: Selecciona Settings en el menú lateral izquierdo y elige la pestaña Advanced. En la sección Settings, habilita el interruptor Allow Organization Names in Authentication API.
  • Management API: Usa el endpoint PATCH /api/v2/tenants/settings para establecer allow_organization_name_in_authentication_api en true. Para obtener más información, consulta la documentación de la Management API.

Flujo de ejemplo

El siguiente ejemplo muestra un flujo de código de autorización que utiliza nombres de organizaciones.
  1. Llame al endpoint /authorize pasando el nombre de su organización en el parámetro organization:
  1. Después de obtener el código de autorización, llama al endpoint POST /oauth/token para obtener un token de acceso y un ID Token:
  1. Los tokens decodificados que se devuelven contienen las claims org_id y org_name:
{
    "sub": "google-oauth2|10...17",
    "aud": [
        "https://yourApp"
    ],
    "iat": 1686840988,
    "exp": 1686927388,
    "azp": "Suo...qTd",
    "scope": "openid profile",
    "org_id": "{yourOrganizationId}",
    "org_name": "{yourOrganizationName}"
}

Consideraciones y recomendaciones

Antes de usar nombres de organizaciones en la Authentication API, es importante comprender las principales diferencias entre los nombres y los IDs de las organizaciones. A diferencia de los IDs de las organizaciones (que permanecen estáticos), puedes cambiar el nombre de una organización en cualquier momento después de su creación inicial. Además, puedes reutilizar nombres de organizaciones dentro de un mismo inquilino, siempre que solo esté asignado a exactamente una organización a la vez. En la práctica, esto significa que puedes cambiar el nombre de una de tus organizaciones y reutilizar su nombre original para otra organización en tu inquilino. Los nombres de las organizaciones solo son únicos dentro de un mismo inquilino; el mismo nombre puede usarse para dos o más organizaciones en distintos inquilinos. En general, se recomienda usar IDs de organizaciones al validar tokens. Sin embargo, si usar nombres de organizaciones es más adecuado para tu caso de uso, ten en cuenta las implicaciones que se indican a continuación al implementar esta funcionalidad.

Consideraciones de usabilidad y seguridad

Tenga en cuenta los posibles efectos que se indican a continuación al usar nombres de organización para solicitar y validar tokens:
  • Los nombres de organización pueden reutilizarse: Los tokens de larga duración no vencen cuando una organización cambia su nombre, y los claims org_name de esos tokens conservan su valor original. Si más adelante una organización distinta reutiliza el nombre original, esos tokens podrían otorgar a los usuarios acceso no autorizado a los datos y recursos administrados por la nueva organización.
  • Los nombres de organización solo son únicos dentro de un mismo inquilino: Si su API no verifica los claims iss (emisor) en los tokens, una organización con el mismo nombre en un inquilino diferente podría generar tokens que su API aceptara incorrectamente.
  • Los nombres de organización pueden cambiar: Si cambia el nombre de una organización, sus aplicaciones deben proporcionar el nuevo nombre de la organización en las solicitudes a la Authentication API. Como los tokens pueden ser de larga duración, es posible que el claim org_name de un token ya no coincida con el nombre actual de la organización, lo que podría impedir que las aplicaciones concedan acceso a la organización correcta.
Debido a los posibles efectos en la seguridad y la usabilidad, se recomienda usar identificadores en lugar de nombres para validar tokens al trabajar con organizaciones. Si decide usar nombres de organización, siga las prácticas recomendadas que se indican a continuación para obtener una experiencia óptima:
  • Valide siempre el claim iss para asegurarse de que un token haya sido emitido por su inquilino de Auth0.
  • Evite reutilizar nombres de organización que hayan existido anteriormente en su inquilino. Para evitar la reutilización y garantizar que los tokens emitidos previamente no puedan usarse para acceder a otras organizaciones, mantenga un registro preciso y actualizado de los nombres históricos de las organizaciones.
  • Evite cambiar el nombre de las organizaciones una vez que estén en uso, salvo que sea absolutamente necesario. Si decide cambiar el nombre de una organización, tenga en cuenta que los tokens de acceso y los ID Token existentes no incluyen automáticamente el nuevo nombre de la organización. Después de cambiar el nombre de una organización, asegúrese de pedir a los usuarios que inicien sesión de nuevo.