Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Recupere as opções de criação necessárias para gerar e registrar uma chave de acesso compatível com o Microsoft Entra ID. Não há suporte para operações de autoatendimento.
Permissões
Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
| Tipo de permissão | Permissões menos privilegiadas | Permissões com privilégios mais elevados |
|---|---|---|
| Delegado (conta corporativa ou de estudante) | UserAuthenticationMethod.ReadWrite.All | Indisponível. |
| Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
| Application | UserAuthenticationMethod.ReadWrite.All | Indisponível. |
Importante
Para acesso delegado usando contas corporativas ou de estudante em que o usuário conectado está agindo sobre outro usuário, ele deve receber uma função do Microsoft Entra com suporte ou uma função personalizada que conceda as permissões necessárias para esta operação. Esta operação dá suporte às seguintes funções internas, que fornecem apenas o menor privilégio necessário:
- Administrador de Autenticação
- Administrador de Autenticação Privilegiada
Quando os usuários gerenciam seus próprios métodos de autenticação, o sistema solicita que eles concluam a autenticação multifator (MFA) se eles foram autenticados pela última vez há mais de 10 minutos na sessão atual.
Solicitação HTTP
GET /users/{user-id}/authentication/fido2Methods/creationOptions(challengeTimeoutInMinutes={challengeTimeoutInMinutes})
Parâmetros de função
A tabela a seguir lista os parâmetros necessários quando você chama essa função.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| challengeTimeoutInMinutes | Int32 | Substitua o tempo limite do desafio gerado pelo servidor retornado na solicitação. O valor padrão é de 5 minutos; Esse valor pode ser substituído para entre 5 e 43200 minutos. |
Cabeçalhos de solicitação
| Nome | Descrição |
|---|---|
| Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
Corpo da solicitação
Não forneça um corpo de solicitação para esse método.
Resposta
Se for bem-sucedida, essa função retornará um código de 200 OK resposta e um webauthnCredentialCreationOptions no corpo da resposta.
Observação
Esse método também retorna IDs de chave excludeCredentials formatadas em Base64URL com um sufixo de número de preenchimento. Para decodificar as IDs de chave, converta o valor inteiro à direita de 0, 1 ou 2 para o mesmo número de caracteres de preenchimento base64.
Exemplos
Solicitação
O exemplo a seguir mostra uma solicitação.
GET https://graph.microsoft.com/beta/users/{usersId}/authentication/fido2Methods/creationOptions(challengeTimeoutInMinutes=10)
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
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"
}
}
}
}