Compartir vía


Generación de un token de autenticación

En este artículo, aprenderá a generar el token de autenticación de la entidad de servicio, el token de autenticación de un usuario y el token de actualización de un usuario.

Registro de la aplicación con Microsoft Entra ID

  1. Para aprovisionar la plataforma Azure Data Manager for Energy, debe registrar la aplicación en la página de registro de aplicaciones de Azure Portal. Puede usar una cuenta de Microsoft o bien una cuenta profesional o educativa para registrar una aplicación. Para ver los pasos sobre cómo configurar, consulte Registrar la documentación de la aplicación.

  2. En la sección de información general de la aplicación, si no se especifica ningún URI de redirección, puede seleccionar Agregar una plataforma>Web, agregar http://localhost:8080 y seleccionar Guardar.

    Captura de pantalla que muestra cómo agregar el URI a la aplicación.

Capturar parámetros

También puede encontrar los parámetros después de registrar la aplicación en Azure Portal.

Búsqueda de tenant-id

  1. Vaya a la cuenta de Microsoft Entra de su organización. Puede buscar Microsoft Entra ID en la barra de búsqueda de Azure Portal.

  2. En la pestaña Información general, en la sección Información básica, busque Id. de inquilino.

  3. Copie el valor tenant-ID y péguelo en un editor para usarlo más adelante.

    Captura de pantalla que muestra la búsqueda de Microsoft Entra ID.

    Captura de pantalla que muestra la búsqueda del identificador de inquilino.

Búsqueda de client-id

El client-id es el mismo valor que se usa para registrar la aplicación durante el aprovisionamiento de la instancia de Azure Data Manager for Energy. A menudo se conoce como app-id.

  1. Vaya a la página de Información general de Azure Data Manager for Energy. En el panel Essentials, busque el Id. de cliente.

  2. Copie el valor client-id y péguelo en un editor para usarlo más adelante.

  3. Actualmente, una instancia de Azure Data Manager for Energy permite asociar un app-id a una instancia.

    Importante

    El client-id que se pasa como valor en las llamadas API de derechos debe ser el mismo que se usó para aprovisionar la instancia de Azure Data Manager for Energy.

    Captura de pantalla que muestra la búsqueda del identificador de cliente de la aplicación registrada.

Búsqueda de client-secret

El client-secret es un valor de cadena que la aplicación puede usar en lugar de un certificado para identificarse. A veces se conoce como una contraseña de aplicación.

  1. Vaya a Registros de aplicación.

  2. En la sección Administrar, seleccione Certificados y secretos.

  3. Seleccione Nuevo secreto de cliente para crear un secreto de cliente para el id. de cliente que usó para crear la instancia de Azure Data Manager for Energy.

  4. Registre el Valor del secreto para usarlo después en el código de la aplicación cliente.

    El token de acceso de app-id y client-secret tienen acceso de administrador de infraestructura a la instancia.

    Precaución

    No olvide registrar el valor del secreto. Este valor del secreto nunca se muestra de nuevo después de salir de esta página al momento de la creación del secreto de cliente.

    Captura de pantalla que muestra la búsqueda del secreto de cliente.

Búsqueda del redirect-uri

El redirect-uri de la aplicación es donde la aplicación envía y recibe las respuestas de autenticación. Debe coincidir exactamente con uno de los URI de redireccionamiento que ha registrado en el portal, con la excepción de que debe estar codificado como URL.

  1. Vaya a Registros de aplicación.
  2. En la sección Administrar, seleccione Autenticación.
  3. Capture el redirect-uri (o dirección URL de respuesta) de la aplicación para recibir respuestas de Microsoft Entra ID.

Captura de pantalla que muestra redirect-uri.

Búsqueda de adme-url para la instancia de Azure Data Manager for Energy

  1. Cree una instancia de Azure Data Manager for Energy con la instancia client-id generada anteriormente.

  2. Vaya a la página de Información general de Azure Data Manager for Energy en Azure Portal.

  3. En el panel Essentials, copie el URI.

    Captura de pantalla que muestra la búsqueda del URI de la instancia de Azure Data Manager for Energy.

Búsqueda del data-partition-id

Tiene dos maneras de obtener la lista de particiones de datos en la instancia de Azure Data Manager for Energy.

  • Opción 1: En la sección Avanzado de la interfaz de usuario de Azure Data Manager for Energy, vaya al elemento de menú Particiones de datos.

    Captura de pantalla que muestra la búsqueda del identificador de partición de datos de la instancia de Azure Data Manager for Energy.

  • Opción 2: En el panel Essentials de la página de Información general de Azure Data Manager for Energy, debajo del campo Particiones de datos, seleccione vista.

    Captura de pantalla que muestra la búsqueda del identificador de partición de datos de la página Información general de la instancia de Azure Data Manager for Energy.

    Captura de pantalla que muestra la búsqueda del identificador de partición de datos de la página de información general de la instancia de Azure Data Manager for Energy con las particiones de datos.

Buscar dominio

De forma predeterminada, el domain es dataservices.energy para todas las instancias de Azure Data Manager for Energy.

Generación del token de autenticación de client-id

Ejecute el siguiente comando curl en Azure Cloud Bash después de reemplazar los valores de marcador de posición por los valores correspondientes que encontró en los pasos previos. El token de acceso de la respuesta es el token de autenticación client-id.

Formato de solicitud

curl --location --request POST 'https://login.microsoftonline.com/<tenant-id>/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=<client-id>.default' \
--data-urlencode 'client_id=<client-id>' \
--data-urlencode 'client_secret=<client-secret>' \
--data-urlencode 'resource=<client-id>'

Respuesta de muestra

    {
        "token_type": "Bearer",
        "expires_in": 86399,
        "ext_expires_in": 86399,
        "access_token": "abcdefgh123456............."
    }

Generación del token de autenticación de usuario

La generación del token de autenticación de un usuario es un proceso de dos pasos.

Obtención del código de autorización

El primer paso para obtener un token de acceso para varios flujos de OpenID Connect (OIDC) y OAuth 2.0 consiste en redirigir al usuario al punto de conexión /authorize de la plataforma de identidad de Microsoft. Microsoft Entra ID inicia la sesión del usuario y solicita su consentimiento para los permisos que solicita la aplicación. En el flujo de concesión de código de autorización, después de obtener el consentimiento, Microsoft Entra ID devolverá un código de autorización a la aplicación que puede canjear en el punto de conexión /token de la plataforma de identidad de Microsoft por un token de acceso.

  1. Prepare el formato de la solicitud mediante los parámetros.

    https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize?client_id=<client-id>
    &response_type=code
    &redirect_uri=<redirect-uri>
    &response_mode=query
    &scope=<client-id>%2f.default&state=12345&sso_reload=true
    
  2. Después de reemplazar los parámetros, puede pegar la solicitud en la dirección URL de cualquier explorador y presionar Entrar.

  3. Inicie sesión en Azure Portal si aún no lo ha hecho.

  4. Es posible que vea el mensaje de error "Hmmm... No se puede acceder a esta página" en el explorador. Puede pasarla por alto.

    Captura de pantalla del redireccionamiento de localhost.

  5. El explorador le redirigirá a http://localhost:8080/?code={authorization code}&state=... después de la autenticación correcta.

  6. Copie la respuesta de la barra de direcciones URL del explorador y capture el texto entre code= y &state.

    http://localhost:8080/?code=0.BRoAv4j5cvGGr0...au78f&state=12345&session....
    
  7. Mantenga este authorization-code a la mano para su uso futuro.

    Parámetro Descripción
    código El código de autorización que la aplicación solicitó. La aplicación puede utilizar el código de autorización para solicitar un token de acceso para el recurso de destino. Los códigos de autorización tienen una duración breve. Normalmente, caducan al cabo de unos 10 minutos.
    state Si se incluye un parámetro de estado en la solicitud, debería aparecer el mismo valor en la respuesta. La aplicación debería comprobar que los valores de state de la solicitud y la respuesta sean idénticos. Esta comprobación ayuda a detectar ataques CSRF contra el cliente.
    session_state Un valor único que identifica la sesión del usuario actual. Este valor es un GUID, pero se debe tratar como un valor opaco que se pasa sin analizar.

Advertencia

La ejecución de la dirección URL en Postman no funcionará, ya que requiere una configuración adicional para la recuperación de tokens.

Obtención de un token de autenticación y un token de actualización

El segundo paso es obtener el token de autenticación y el token de actualización. La aplicación usa el código de autorización que se recibe en el paso anterior para solicitar un token de acceso mediante el envío de una solicitud POST al punto de conexión /token.

Formato de solicitud

  curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'client_id=<client-id>
  &scope=<client-id>%2f.default openid profile offline_access
  &code=<authorization-code>
  &redirect_uri=<redirect-uri>
  &grant_type=authorization_code
  &client_secret=<client-secret>' 'https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token'

Respuesta de muestra

{
  "token_type": "Bearer",
  "scope": "User.Read profile openid email",
  "expires_in": 4557,
  "access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkJuUXdJd0ZFc...",
  "refresh_token": "0.ARoAv4j5cvGGr0GRqy180BHbR8lB8cvIWGtHpawGN..."
}
Parámetro Descripción
token_type Indica el valor de tipo de token. El único tipo que Microsoft Entra ID admite es Bearer.
scope Una lista separada por espacios de los permisos de Microsoft Graph para los que el parámetro del token de acceso es válido.
expires_in Tiempo de validez del token de acceso (en segundos).
access_token El token de acceso solicitado. La aplicación puede usar este token para llamar a Microsoft Graph.
refresh_token Un token de actualización de OAuth 2.0. La aplicación puede usar este token para obtener tokens de acceso adicionales una vez que expire el token de acceso actual. Los tokens de actualización son de larga duración y pueden usarse para conservar el acceso a los recursos durante largos períodos.

Para obtener más información sobre cómo generar un token de acceso de usuario y usar un token de actualización para generar un nuevo token de acceso, consulte Generación de tokens de actualización.

OSDU® es una marca comercial de The Open Group.

Pasos siguientes

Para más información sobre cómo usar el token de actualización generado, consulte: