fido2AuthenticationMethod : creationOptions

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Récupérez les options de création requises pour générer et enregistrer une clé d’accès compatible avec Microsoft Entra ID. Les opérations en libre-service ne sont pas prises en charge.

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme étant les moins privilégiées pour cette API. Utilisez une ou plusieurs autorisations privilégiées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, voir Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez la référence des autorisations.

Type d’autorisation Autorisations les moins privilégiées Autorisations à privilèges plus élevés
Déléguée (compte professionnel ou scolaire) UserAuthenticationMethod.ReadWrite.All Non disponible.
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application UserAuthenticationMethod.ReadWrite.All Non disponible.

Importante

Pour l’accès délégué à l’aide de comptes professionnels ou scolaires où l’utilisateur connecté agit sur un autre utilisateur, un rôle Microsoft Entra pris en charge ou un rôle personnalisé qui accorde les autorisations requises pour cette opération doivent lui être attribué. Cette opération prend en charge les rôles intégrés suivants, qui n’offrent que le moindre privilège nécessaire :

  • Administrateur d’authentification
  • Administrateur d’authentification privilégié

Lorsque les utilisateurs gèrent leurs propres méthodes d’authentification, le système les invite à effectuer l’authentification multifacteur (MFA) s’ils se sont authentifiés pour la dernière fois il y a plus de 10 minutes dans la session active.

Requête HTTP

GET /users/{user-id}/authentication/fido2Methods/creationOptions(challengeTimeoutInMinutes={challengeTimeoutInMinutes})

Paramètres de fonction

Le tableau suivant répertorie les paramètres qui sont requis lorsque vous appelez cette fonction.

Paramètre Type Description
challengeTimeoutInMinutes Int32 Remplacez le délai d’expiration du défi généré par le serveur renvoyé dans la demande. La valeur par défaut est 5 minutes ; Cette valeur peut être remplacée par une valeur comprise entre 5 et 43 200 minutes.

En-têtes de demande

Nom Description
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et les autorisations.

Corps de la demande

N’indiquez pas le corps de la demande pour cette méthode.

Réponse

En cas de réussite, cette fonction renvoie un code de réponse et une 200 OKvaleur webauthnCredentialCreationOptions dans le corps de la réponse.

Remarque

Cette méthode renvoie également les ID de clé excludeCredentials au format Base64URL avec un suffixe de numéro de remplissage. Pour décoder les ID de clé, convertissez la valeur entière de 0, 1 ou 2 à la fin en autant de caractères de remplissage base64.

Exemples

Demande

L’exemple suivant illustre une demande.

GET https://graph.microsoft.com/beta/users/{usersId}/authentication/fido2Methods/creationOptions(challengeTimeoutInMinutes=10)

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": {
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.webauthnCredentialCreationOptions",
    "challengeTimeoutDateTime": "2024-08-14T16:29:58Z",
    "publicKey": {
        "challenge": "ZXlKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJSME5OSWl3aWVEVmpJanBiSWsxSlNVUmhSRU5EUVd4...",
        "timeout": 0,
        "attestation": "direct",
        "rp": {
            "id": "login.microsoft.com",
            "name": "Microsoft"
        },
        "user": {
            "id": "T0Y6Ehqp2EfQP0iExdt54DFwdWuaH7qIZbZGpOc92RGnvbXyRPvU-8AOp9r1T7Cebfc3",
            "displayName": "Kim User",
            "name": "kimuser@contoso.com"
        },
        "pubKeyCredParams": [
            {
                "type": "public-key",
                "alg": -7
            },
            {
                "type": "public-key",
                "alg": -257
            }
        ],
        "excludeCredentials": [
            {
                "id": "0S64X8KwFmCeJjHzK1oE/39T+JYhfYbhFurwOxMMjtvRWc/sLYq8AMJVuva823XQ",
                "type": "public-key",
                "transports": []
            },
            {
                "id": "pgIfj2fnom8rJdb4/h1gKqDkq+gxHFksI+m2aR5T+PNNycBfENAM4ksEBvoXky6d",
                "type": "public-key",
                "transports": []
            },
            {
                "id": "u5wuw6SGH0VhAz7OXCLRkCuxhm4UrCB7hcLccyMU6calP1hWexfKe5PJNM69neAM",
                "type": "public-key",
                "transports": []
            },
            {
                "id": "6rc0zTSz2YRlaKlCjqxsNDjDe8qY8TSL95Z4WhxEaaP4XfvfSnAGMk49RSwm/uAO",
                "type": "public-key",
                "transports": []
            }
        ],
        "authenticatorSelection": {
            "authenticatorAttachment": "cross-platform",
            "requireResidentKey": true,
            "userVerification": "required"
        },
        "extensions": {
            "hmacCreateSecret": true,
            "enforceCredentialProtectionPolicy": true,
            "credentialProtectionPolicy": "userVerificationOptional"
        }
    }
  }
}