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
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.
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.
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
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.
En la pestaña Información general, en la sección Información básica, busque Id. de inquilino.
Copie el valor
tenant-ID
y péguelo en un editor para usarlo más adelante.
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
.
Vaya a la página de Información general de Azure Data Manager for Energy. En el panel Essentials, busque el Id. de cliente.
Copie el valor
client-id
y péguelo en un editor para usarlo más adelante.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.
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.
Vaya a Registros de aplicación.
En la sección Administrar, seleccione Certificados y secretos.
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.
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
yclient-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.
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.
- Vaya a Registros de aplicación.
- En la sección Administrar, seleccione Autenticación.
- Capture el
redirect-uri
(o dirección URL de respuesta) de la aplicación para recibir respuestas de Microsoft Entra ID.
Búsqueda de adme-url para la instancia de Azure Data Manager for Energy
Cree una instancia de Azure Data Manager for Energy con la instancia
client-id
generada anteriormente.Vaya a la página de Información general de Azure Data Manager for Energy en Azure Portal.
En el panel Essentials, copie el URI.
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.
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.
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.
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
Después de reemplazar los parámetros, puede pegar la solicitud en la dirección URL de cualquier explorador y presionar Entrar.
Inicie sesión en Azure Portal si aún no lo ha hecho.
Es posible que vea el mensaje de error "Hmmm... No se puede acceder a esta página" en el explorador. Puede pasarla por alto.
El explorador le redirigirá a
http://localhost:8080/?code={authorization code}&state=...
después de la autenticación correcta.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....
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: