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.
Atribua e ative um token de hardware ao mesmo tempo. Esta operação requer o ID do dispositivo para ativá-la.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global |
Governo dos EUA L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
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.
Permissões agindo em si
| Tipo de permissão |
Permissões menos privilegiadas |
Permissões com privilégios mais elevados |
| Delegado (conta corporativa ou de estudante) |
UserAuthenticationMethod.ReadWrite |
UserAuthenticationMethod.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Aplicativo |
Sem suporte. |
Sem suporte. |
Permissões agindo em outro usuário
| Tipo de permissão |
Permissão com privilégios mínimos |
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
Atribua e ative um método de autenticação OATH de hardware para si mesmo.
POST /me/authentication/hardwareOathMethods/assignAndActivate
Observação
Chamar o ponto de extremidade /me exige um usuário conectado e, portanto, uma permissão delegada. Não há suporte para permissões de aplicativo ao usar o /me ponto de extremidade.
Atribua e ative um método de autenticação OATH de hardware para outro usuário.
POST /users/{usersId}/authentication/hardwareOathMethods/assignAndActivate
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo da solicitação, forneça uma representação JSON dos parâmetros.
A tabela a seguir lista os parâmetros necessários quando você chama essa ação.
| Parâmetro |
Tipo |
Descrição |
| verificationCode |
Cadeia de caracteres |
O código TOTP de 6 dígitos que é atualizado a cada 30 ou 60 segundos no token OATH de hardware. |
| device |
hardwareOathTokenAuthenticationMethodDevice |
ID do token de hardware que deve ser atribuído ao usuário e ativado. |
| displayName |
Cadeia de caracteres |
Um nome opcional que pode ser fornecido ao token OATH de hardware. |
Resposta
Se tiver êxito, esta ação retornará um código de resposta 204 No Content.
Exemplos
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/me/authentication/hardwareOathMethods/assignAndActivate
Content-Type: application/json
{
"device": {
"id": "aad49556-####-####-####-############"
},
"verificationCode": "588651",
"displayName": "Amy Masters Token"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Me.Authentication.HardwareOathMethods.AssignAndActivate;
using Microsoft.Graph.Beta.Models;
var requestBody = new AssignAndActivatePostRequestBody
{
Device = new HardwareOathTokenAuthenticationMethodDevice
{
Id = "aad49556-####-####-####-############",
},
VerificationCode = "588651",
DisplayName = "Amy Masters Token",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Me.Authentication.HardwareOathMethods.AssignAndActivate.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphusers.NewItemAssignAndActivatePostRequestBody()
device := graphmodels.NewHardwareOathTokenAuthenticationMethodDevice()
id := "aad49556-####-####-####-############"
device.SetId(&id)
requestBody.SetDevice(device)
verificationCode := "588651"
requestBody.SetVerificationCode(&verificationCode)
displayName := "Amy Masters Token"
requestBody.SetDisplayName(&displayName)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Me().Authentication().HardwareOathMethods().AssignAndActivate().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.users.item.authentication.hardwareoathmethods.assignandactivate.AssignAndActivatePostRequestBody assignAndActivatePostRequestBody = new com.microsoft.graph.beta.users.item.authentication.hardwareoathmethods.assignandactivate.AssignAndActivatePostRequestBody();
HardwareOathTokenAuthenticationMethodDevice device = new HardwareOathTokenAuthenticationMethodDevice();
device.setId("aad49556-####-####-####-############");
assignAndActivatePostRequestBody.setDevice(device);
assignAndActivatePostRequestBody.setVerificationCode("588651");
assignAndActivatePostRequestBody.setDisplayName("Amy Masters Token");
graphClient.me().authentication().hardwareOathMethods().assignAndActivate().post(assignAndActivatePostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const assignAndActivate = {
device: {
id: 'aad49556-####-####-####-############'
},
verificationCode: '588651',
displayName: 'Amy Masters Token'
};
await client.api('/me/authentication/hardwareOathMethods/assignAndActivate')
.version('beta')
.post(assignAndActivate);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Users\Item\Authentication\HardwareOathMethods\AssignAndActivate\AssignAndActivatePostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\HardwareOathTokenAuthenticationMethodDevice;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AssignAndActivatePostRequestBody();
$device = new HardwareOathTokenAuthenticationMethodDevice();
$device->setId('aad49556-####-####-####-############');
$requestBody->setDevice($device);
$requestBody->setVerificationCode('588651');
$requestBody->setDisplayName('Amy Masters Token');
$graphServiceClient->me()->authentication()->hardwareOathMethods()->assignAndActivate()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.SignIns
$params = @{
device = @{
id = "aad49556-####-####-####-############"
}
verificationCode = "588651"
displayName = "Amy Masters Token"
}
# A UPN can also be used as -UserId.
Set-MgBetaUserAuthenticationHardwareOathMethodAndActivate -UserId $userId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.users.item.authentication.hardwareoathmethods.assign_and_activate.assign_and_activate_post_request_body import AssignAndActivatePostRequestBody
from msgraph_beta.generated.models.hardware_oath_token_authentication_method_device import HardwareOathTokenAuthenticationMethodDevice
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AssignAndActivatePostRequestBody(
device = HardwareOathTokenAuthenticationMethodDevice(
id = "aad49556-####-####-####-############",
),
verification_code = "588651",
display_name = "Amy Masters Token",
)
await graph_client.me.authentication.hardware_oath_methods.assign_and_activate.post(request_body)
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 204 No Content