Partager via


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 inscrire une clé d’accès compatible 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 moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
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

Dans les scénarios délégués avec des comptes professionnels ou scolaires où l’utilisateur connecté agit sur un autre utilisateur, il doit se voir attribuer un rôle Microsoft Entra pris en charge ou un rôle personnalisé avec une autorisation de rôle prise en charge. Les rôles les moins privilégiés suivants sont pris en charge pour cette opération.

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

Requête HTTP

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

Paramètres de fonction

Le tableau suivant répertorie les paramètres 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 retourné dans la demande. La valeur par défaut est 5 minutes ; cette valeur peut être remplacée par entre 5 et 43 200 minutes.

En-têtes de demande

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

Corps de la demande

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

Réponse

Si elle réussit, cette fonction renvoie un 200 OK code de réponse et un webauthnCredentialCreationOptions dans le corps de la réponse.

Remarque

Cette méthode retourne également les ID de clé excludeCredentials mis en forme en Base64URL avec un suffixe de numéro de remplissage. Pour décoder les ID de clé, convertissez la valeur entière de fin de 0, 1 ou 2 au même nombre 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"
        }
    }
  }
}