Générez un jeton d'authentification

Dans cet article, vous apprendrez à générer le jeton d'authentification du principal du service, le jeton d'authentification d'un utilisateur et le jeton d'actualisation d'un utilisateur.

Inscrivez votre application avec Microsoft Entra ID.

  1. Pour approvisionner la plateforme Azure Data Manager for Energy, vous devez inscrire votre application sur la page d’inscription de l’application du Portail Microsoft Azure. Vous pouvez utiliser un compte Microsoft ou un compte professionnel ou scolaire pour inscrire une application. Pour savoir comment configurer, consultez Documentation pour inscrire votre application.

  2. Dans la section Vue d’ensemble de l’application, si aucune URI de redirection n’est spécifié, vous pouvez sélectionner Ajouter une plateforme>Web, ajoutez http://localhost:8080 et sélectionnez Enregistrer.

    Capture d’écran qui montre l’ajout de l’URI à l’application.

Paramètres de récupération

Vous pouvez également trouver les paramètres une fois que l’application est inscrite sur le Portail Microsoft Azure.

Rechercher l’identifiant de locataire

  1. Accédez au compte Microsoft Entra pour votre organisation. Vous pouvez chercher Microsoft Entra ID dans la barre de recherche du portail Microsoft Azure.

  2. Dans l’onglet Vue d’ensemble, sous la section Informations de base, trouvez Identifiant du locataire.

  3. Copiez la valeur tenant-ID et collez-la dans un éditeur pour pouvoir l’utiliser ultérieurement.

    Capture d’écran qui montre la recherche de Microsoft Entra ID.

    Capture d’écran qui montre comment trouver l’ID de tenant.

Trouvez l’identifiant client

Un client-id est la même valeur que celle que vous utilisez pour inscrire votre application lors de l’approvisionnement de votre instance Azure Data Manage pour Energy. Il est souvent appelé app-id.

  1. Accédez à la page Vue d’ensemble d'Azure Data Manager pour Energy. Dans le volet Essentials, recherchez Identifiant client.

  2. Copiez la valeur client-id et collez-la dans un éditeur pour pouvoir l’utiliser ultérieurement.

  3. Actuellement, une instance Azure Data Manager pour Energy permet à un app-id d’être associé à une instance.

    Important

    Le client-id qui est transmis comme valeur dans les appels d’API de droits d’utilisation doivent être le même que celui qui a été utilisé pour provisionner votre instance Azure Data Manager pour Energy.

    Capture d’écran qui montre comment trouver l’ID client pour votre application inscrite.

Trouver une clé secrète client

Un client-secret est une valeur de chaîne que votre application peut utiliser à la place d’un certificat pour s’identifier. Il est parfois appelé mot de passe d’application.

  1. Accédez à Enregistrements d’application.

  2. Sous la section Gérer, sélectionnez Certificats et secrets.

  3. Sélectionnez Nouvelle clé secrète client pour créer une clé secrète client pour l’identifiant client que vous avez utilisé pour créer votre instance Azure Data Manager pour Energy.

  4. Enregistrez la valeur du secret en prévision d’une utilisation ultérieure dans le code de votre application cliente.

    Le jeton d’accès du app-id et du client-secret dispose de l’accès administrateur de l’infrastructure à l’instance.

    Attention

    N’oubliez pas d’enregistrer la valeur du secret. Cette valeur secrète n’est plus affichée après avoir quitté cette page pour la création d’une clé secrète client.

    Capture d’écran qui montre comment trouver le secret client.

Trouver un uri de redirection

Le redirect-uri de votre application, où votre application envoie et reçoit les réponses d’authentification. Il doit correspondre exactement à l’un des URI de redirection que vous avez enregistrés dans le portail, sauf qu’il doit être encodé au format URL.

  1. Accédez à Enregistrements d’application.
  2. Dans la section Gérer, sélectionnez Authentification.
  3. Récupérez le redirect-uri (ou URL de réponse) de votre application pour recevoir les réponses de Microsoft Entra ID.

Capture d’écran qui montre redirect-uri.

Trouvez l’url d’adme de votre instance Azure Data Manager for Energy

  1. Créez une instance Azure Data Manager pour Energy en utilisant le client-id généré ci-dessus.

  2. Accédez à votre page Vue d’ensemble d'Azure Data Manager pour Energy sur le Portail Microsoft Azure.

  3. Sur le volet Éléments essentiels, copiez l’URI.

    Capture d’écran qui montre comment trouver l’URI pour l’instance Azure Data Manager for Energy.

Trouvez l’identifiant de la partition de données

Vous avez deux façons d’obtenir la liste des partitions de données dans votre instance Azure Data Manager pour Energy.

  • Option 1 : sous la section Avancé de votre interface utilisateur Azure Data Manager pour Energy, accédez à l’élément de menu Partitions de données.

    Capture d’écran qui montre comment trouver data-partition-id depuis l’instance Azure Data Manager for Energy.

  • Option 2 : dans le volet Essentials de votre page Vue d’ensemble d'Azure Data Manager pour l’énergie, sous le champ Partitions de données, sélectionnez l’affichage.

    Capture d’écran qui montre comment trouver data-partition-id depuis la page Vue d’ensemble de l’instance Azure Data Manager for Energy.

    Capture d’écran qui montre comment trouver data-partition-id depuis la page Vue d’ensemble de l’instance Azure Data Manager for Energy avec les partitions de données.

Trouver un domaine

Par défaut, le domain est dataservices.energy pour toutes les instances Azure Data Manager for Energy.

Générer le jeton d’authentification d’identifiant client

Exécutez la commande curl suivante dans Azure Cloud Bash après avoir remplacé les valeurs d’espace réservé par les valeurs correspondantes trouvées aux étapes précédentes. Le jeton d’accès dans la réponse est le jeton d’authentification client-id.

Format de la demande

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>'

Exemple de réponse

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

Générer le jeton d’authentification de l’utilisateur

La génération du jeton d’authentification d’un utilisateur est un processus en deux étapes.

Obtenir le code d’autorisation

La première étape pour obtenir un jeton d’accès pour de nombreux flux OpenID Connect (OIDC) et OAuth 2.0 consiste à rediriger l’utilisateur vers le point de terminaison /authorize de la plateforme d'identités Microsoft. Microsoft Entra ID connecte l’utilisateur et demande son consentement pour les autorisations demandées par votre application. Dans le flux d’octroi de code d’autorisation, une fois le consentement obtenu, Microsoft Entra ID retourne un code d’autorisation à votre application qu’elle peut échanger au point de terminaison /token de la plateforme d'identités Microsoft pour un jeton d’accès.

  1. Préparez le format de requête à l’aide des paramètres.

    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. Après avoir remplacé les paramètres, vous pouvez coller la requête dans l'URL de n'importe quel navigateur et sélectionner Entrée.

  3. Connectez-vous à votre Portail Microsoft Azure si vous n’êtes pas déjà connecté.

  4. Vous pouvez voir le message d'erreur « Hmmm... impossible d’accéder à cette page » dans le navigateur. Vous pouvez l’ignorer.

    Capture d’écran de la redirection localhost.

  5. Le navigateur redirige vers une http://localhost:8080/?code={authorization code}&state=... après une authentification réussie.

  6. Copiez la réponse à partir de la barre d’URL du navigateur et récupérez le texte entre code= et &state.

    http://localhost:8080/?code=0.BRoAv4j5cvGGr0...au78f&state=12345&session....
    
  7. Gardez cette authorization-code sous la main pour une utilisation ultérieure.

    Paramètre Description
    code Le code d’autorisation demandé par l’application. L’application peut utiliser ce code d’autorisation pour demander un jeton d’accès pour la ressource cible. Les codes d’autorisation ont des durées de vie courtes. Généralement, ils expirent au bout de 10 minutes.
    state Si un paramètre d’état est inclus dans la demande, la même valeur doit apparaître dans la réponse. L’application doit vérifier que les valeurs state de la requête et de la réponse sont identiques. Cela permet de détecter les attaques CSRF menaçant le client.
    session_state Une valeur unique identifiant la session utilisateur actuelle. Cette valeur est un GUID, mais elle doit être traitée comme une valeur opaque n’ayant fait l’objet d’aucune analyse.

Avertissement

L’exécution de l’URL dans Postman ne fonctionnera pas, car elle nécessite une configuration supplémentaire pour la récupération des jetons.

Obtenir un jeton d’authentification et un jeton d’actualisation

La deuxième étape consiste à obtenir le jeton d’authentification et le jeton d’actualisation. Votre application utilise le code d’autorisation reçu à l’étape précédente pour demander un jeton d’accès en envoyant une requête POST au point de terminaison /token.

Format de la demande

  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'

Exemple de réponse

{
  "token_type": "Bearer",
  "scope": "User.Read profile openid email",
  "expires_in": 4557,
  "access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkJuUXdJd0ZFc...",
  "refresh_token": "0.ARoAv4j5cvGGr0GRqy180BHbR8lB8cvIWGtHpawGN..."
}
Paramètre Description
token_type Indique la valeur du type de jeton. Le seul type pris en charge par Microsoft Entra ID est Porteur.
scope Liste séparée par un espace des autorisations Microsoft Graph pour laquelle le jeton d’accès est valide.
expires_in Durée de validité du jeton d’accès (en secondes).
access_token Le jeton d’accès demandé. Votre application peut utiliser ce jeton pour appeler Microsoft Graph.
refresh_token Un jeton d’actualisation OAuth 2.0. Votre application peut utiliser ce jeton pour acquérir des jetons d’accès supplémentaires après l’expiration du jeton d’accès actuel. Les jetons d’actualisation ont une durée de vie longue et peuvent être utilisés pour conserver l’accès aux ressources pendant des périodes de temps étendues.

Pour plus d’informations sur la génération d’un jeton d’accès utilisateur et l’utilisation d’un jeton d’actualisation pour générer un nouveau jeton d’accès, consultez Générer des jetons d’actualisation.

OSDU® est une marque déposée de The Open Group.

Étapes suivantes

Pour en savoir plus sur l’utilisation du jeton d’actualisation généré, consultez :