Share via


Criar identityProvider

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 objeto de provedor de identidade do tipo especificado no corpo da solicitação.

Entre os tipos de provedores derivados de identityProviderBase, atualmente você pode criar um recurso socialIdentityProvider no Microsoft Entra ID. No Azure AD B2C, essa operação pode atualmente criar um recurso socialIdentityProvider, openIdConnectIdentityProvider ou um recurso appleManagedIdentityProvider.

Essa API está disponível nas seguintes implantações nacionais de nuvem.

Serviço global Governo dos EUA L4 GOVERNO DOS EUA L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas 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 privilegiadas mais altas
Delegada (conta corporativa ou de estudante) IdentityProvider.ReadWrite.All Indisponível.
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Aplicativo IdentityProvider.ReadWrite.All Indisponível.

A conta de trabalho ou de estudante precisa pertencer ao menos à função Administrador do Provedor de Identidade ExternaMicrosoft Entra função.

Solicitação HTTP

POST /identity/identityProviders

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 socialIdentityProvider no Microsoft Entra ID.

Em Azure AD B2C fornecem uma representação JSON de socialIdentityProvider, openIdConnectIdentityProvider ou um objeto appleManagedIdentityProvider.

Todas as propriedades listadas nas tabelas a seguir são necessárias.

objeto socialIdentityProvider

Propriedade Tipo Descrição
clientId Cadeia de caracteres O identificador do cliente para o aplicativo obtido ao registrar o aplicativo com o provedor de identidade.
clientSecret Cadeia de caracteres O segredo do cliente para o aplicativo obtido quando o aplicativo é registrado com o provedor de identidade. Isso é somente gravação. Uma operação de leitura retorna ****.
displayName Cadeia de caracteres O nome de exibição exclusivo do provedor de identidade.
identityProviderType Cadeia de caracteres Para um cenário B2B, valores possíveis: Google, Facebook. Para um cenário B2C, valores possíveis: Microsoft, Google, Amazon, LinkedIn, Facebook, GitHub, Twitter, Weibo, QQ, WeChat.

objeto openIdConnectIdentityProvider

Propriedade Tipo Descrição
clientId Cadeia de caracteres A ID do cliente para o aplicativo obtido ao registrar o aplicativo no provedor de identidade.
clientSecret Cadeia de caracteres O segredo do cliente para o aplicativo obtido ao registrar o aplicativo no provedor de identidade. O clientSecret tem uma dependência do responseType.
  • Quando responseType é code, um segredo é necessário para a troca de código de auth.
  • Quando responseType é id_token o segredo não é necessário porque não há troca de código, o id_token é retornado diretamente da resposta de autorização.
displayName Cadeia de caracteres O nome de exibição exclusivo do provedor de identidade.
domainHint Cadeia de caracteres A dica de domínio pode ser usada para pular diretamente para a página de entrada do provedor de identidade especificado, em vez de fazer com que o usuário faça uma seleção entre a lista de provedores de identidade disponíveis.
claimsMapping claimsMapping Depois que o provedor OIDC envia um token de ID de volta ao Microsoft Entra ID, Microsoft Entra ID precisa ser capaz de mapear as declarações do token recebido para as declarações que Microsoft Entra ID reconhece e usa. Esse tipo complexo captura esse mapeamento.
metadadosUrl Cadeia de caracteres A URL do documento de metadados do provedor de identidade OpenID Connect. Cada provedor de identidade do OpenID Connect descreve um documento de metadados que contém a maioria das informações necessárias para executar a entrada. Isso inclui informações como as URLs a serem usadas e o local das chaves de assinatura pública do serviço. O documento de metadados do OpenID Connect está sempre localizado em um ponto de extremidade que termina em .well-known/openid-configuration. Forneça a URL de metadados para o provedor de identidade OpenID Connect que você adiciona.
responseMode Cadeia de caracteres O modo de resposta define o método usado para enviar dados do provedor de identidade personalizado para Azure AD B2C. Valores possíveis: form_post, query.
responseType Cadeia de caracteres O tipo de resposta descreve o tipo de informações enviadas de volta na chamada inicial para o authorization_endpoint do provedor de identidade personalizado. Valores possíveis: code , , tokenid_token .
scope Cadeia de caracteres O escopo define as informações e permissões que você está procurando coletar do seu provedor de identidade personalizado.

objeto appleIdentityProvider

Propriedade Tipo Descrição
displayName Cadeia de caracteres O nome de exibição exclusivo do provedor de identidade.
developerId Cadeia de caracteres O Identificador de desenvolvedor da Apple.
serviceId Cadeia de caracteres O identificador de serviço da Apple.
keyId Cadeia de caracteres O identificador de chave da Apple.
certificateData Cadeia de caracteres Os dados do certificado, que são uma longa sequência de texto do certificado, podem ser nulos.

Resposta

Se for bem-sucedido, esse método retornará um 201 Created código de resposta e uma representação JSON de um objeto socialIdentityProvider no corpo da resposta de um locatário Microsoft Entra.

Para um locatário B2C Azure AD, esse método retorna um 201 Created código de resposta e uma representação JSON de um socialIdentityProvider, openIdConnectIdentityProvider ou um objeto appleManagedIdentityProvider no corpo da resposta.

Caso não consiga, um 4xx erro será retornado com detalhes específicos.

Exemplos

Exemplo 1: criar um provedor de identidade social específico (Microsoft Entra ID e Azure AD B2C)

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/identity/identityProviders
Content-type: application/json

{
  "@odata.type": "microsoft.graph.socialIdentityProvider",
  "displayName": "Login with Amazon",
  "identityProviderType": "Amazon",
  "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
  "clientSecret": "000000000000"
}

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.socialIdentityProvider",
    "id": "Amazon-OAUTH",
    "displayName": "Login with Amazon",
    "identityProviderType": "Amazon",
    "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
    "clientSecret": "000000000000"
}

Exemplo 2: criar um provedor de identidade OpenID Connect específico (somente para Azure AD B2C)

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/identity/identityProviders
Content-type: application/json

{
  "@odata.type": "microsoft.graph.openIdConnectIdentityProvider",
    "displayName": "Login with the Contoso identity provider",
    "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
    "clientSecret": "12345",
    "claimsMapping": {
        "userId": "myUserId",
        "givenName": "myGivenName",
        "surname": "mySurname",
        "email": "myEmail",
        "displayName": "myDisplayName"
    },
    "domainHint": "mycustomoidc",
    "metadataUrl": "https://mycustomoidc.com/.well-known/openid-configuration",
    "responseMode": "form_post",
    "responseType": "code",
    "scope": "openid"
}

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.openIdConnectIdentityProvider",
  "id": "OIDC-V1-MyTest-085a8a0c-58cb-4b6d-8e07-1328ea404e1a",
  "displayName": "Login with the Contoso identity provider",
  "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
  "clientSecret": "12345",
  "claimsMapping": {
      "userId": "myUserId",
      "givenName": "myGivenName",
      "surname": "mySurname",
      "email": "myEmail",
      "displayName": "myDisplayName"
  },
  "domainHint": "mycustomoidc",
  "metadataUrl": "https://mycustomoidc.com/.well-known/openid-configuration",
  "responseMode": "form_post",
  "responseType": "code",
  "scope": "openid"
}

Exemplo 3: recupera o provedor de identidade da Apple (somente para Azure AD B2C)

Solicitação

O exemplo a seguir mostra uma solicitação.

POST https://graph.microsoft.com/beta/identity/identityProviders
Content-type: application/json

{
  "@odata.type": "microsoft.graph.appleManagedIdentityProvider",
  "displayName": "Sign in with Apple",
  "developerId": "UBF8T346G9",
  "serviceId": "com.microsoft.rts.b2c.test.client",
  "keyId": "99P6D879C4",
  "certificateData": "******"
}

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.appleManagedIdentityProvider",
  "id": "Apple-Managed-OIDC",
  "displayName": "Sign in with Apple",
  "developerId": "UBF8T346G9",
  "serviceId": "com.microsoft.rts.b2c.test.client",
  "keyId": "99P6D879C4",
  "certificateData": "******"
}