Criar hardwareOathTokenAuthenticationMethodDevice

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.

Crie um novo objeto hardwareOathTokenAuthenticationMethodDevice . Essa API dá suporte a dois cenários:

  • Crie o novo token de hardware sem atribuir a um usuário. Em seguida, você pode atribuir a um usuário.
  • Crie e atribua um token de hardware a um usuário na mesma solicitação.

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.

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
Delegada (conta corporativa ou de estudante) Policy.ReadWrite.AuthenticationMethod Indisponível.
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Aplicativo Policy.ReadWrite.AuthenticationMethod Indisponível.

Importante

Ao usar permissões delegadas com contas corporativas ou de estudante, o usuário conectado deve ter uma função apropriada do Microsoft Entra ou uma função personalizada com as permissões necessárias. A função interna com privilégios mínimos necessária para essa operação é a de Administrador de Política de Autenticação.

Para criar e atribuir um token OATH de hardware a um usuário em uma única solicitação, o usuário conectado também deve ter:

  • A permissão delegada UserAuthenticationMethod.ReadWrite.All .
  • Função de Administrador de Autenticação (função com privilégios mínimos para atribuir tokens de hardware a usuários não administradores) ou Administrador de Autenticação Privilegiada (função com privilégios mínimos para atribuir tokens de hardware a usuários administradores).

Solicitação HTTP

POST /directory/authenticationMethodDevices/hardwareOathDevices

Cabeçalhos de solicitação

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 do objeto hardwareOathTokenAuthenticationMethodDevice .

Você pode especificar as propriedades a seguir ao criar um hardwareOathTokenAuthenticationMethodDevice.

Propriedade Tipo Descrição
serialNumber Cadeia de caracteres Número de série do token de hardware específico, geralmente encontrado na parte traseira do dispositivo. Obrigatório.
fabricante Cadeia de caracteres Nome do fabricante do token de hardware. Obrigatório.
modelo Cadeia de caracteres Nome do modelo do token de hardware. Obrigatório.
secretKey Cadeia de caracteres Chave secreta do token de hardware específico, fornecida pelo fornecedor. Obrigatório.
timeIntervalInSeconds Int32 Intervalo de atualização do código de verificação de seis dígitos, em segundos. Os valores possíveis são: 30 ou 60. Obrigatório.
hashFunction hardwareOathTokenHashFunction Função de hash do token de hardware. Os valores possíveis são: hmacsha1 ou hmacsha256. O valor padrão é: hmacsha1. Opcional.
assignTo identity ID do usuário, se desejar atribuir diretamente o token a um usuário. Opcional.
displayName Cadeia de caracteres Nome que pode ser fornecido ao token OATH de hardware. Opcional.

Resposta

Se for bem-sucedido, esse método retornará um código de 201 Created resposta e um objeto hardwareOathTokenAuthenticationMethodDevice no corpo da resposta.

Exemplos

Exemplo 1: Criar um token sem atribuição de usuário

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices
Content-Type: application/json

{
  "displayName": "Token 1",
  "serialNumber": "TOTP123456",
  "manufacturer": "Contoso",
  "model": "Hardware Token 1000",
  "secretKey": "6PJ4UKIW33NNXYZAEHQNFUFTZF7WFTFB",
  "timeIntervalInSeconds": 30,
  "hashFunction": "hmacsha1"
}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.hardwareOathTokenAuthenticationMethodDevice",
  "id": "9b037532-f999-1ed9-13fd-849ffb995e11",
  "displayName": "Token 1",
  "serialNumber": "TOTP123456",
  "manufacturer": "Contoso",
  "model": "Hardware Token 1000",
  "secretKey": null,
  "timeIntervalInSeconds": 30,
  "status": "available",
  "lastUsedDateTime": null,
  "assignedTo": null,
  "hashFunction": "hmacsha1"
}

Exemplo 2: Criar um token e atribuí-lo a um usuário

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/directory/authenticationMethodDevices/hardwareOathDevices
Content-Type: application/json

{
  "displayName": "Token 1",
  "serialNumber": "TOTP123456",
  "manufacturer": "Contoso",
  "model": "Hardware Token 1000",
  "secretKey": "6PJ4UKIW33NNXYZAEHQNFUFTZF7WFTFB",
  "timeIntervalInSeconds": 30,
  "hashFunction": "hmacsha1",
  "assignTo": {
    "id": "0cadbf92-####-####-####-############"
    }
}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.hardwareOathTokenAuthenticationMethodDevice",
  "id": "9b037532-f999-1ed9-13fd-849ffb995e11",
  "displayName": "Token 1",
  "serialNumber": "TOTP123456",
  "manufacturer": "Contoso",
  "model": "Hardware Token 1000",
  "secretKey": null,
  "timeIntervalInSeconds": 30,
  "status": "assigned",
  "lastUsedDateTime": null,
  "assignedTo": null,
  "hashFunction": "hmacsha1",
  "assignedTo": {
    "id": "0cadbf92-####-####-####-############",
    "displayName": "Amy Masters"
    }
}