Share via


Criar IdentityProvider (obsoleto)

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.

Cuidado

Essa API do provedor de identidade está preterida e deixará de retornar dados após março de 2023. Use a nova API de provedor de identidade.

Crie um novo objeto identityProvider .

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 /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 identityProvider ou openIdConnectProvider (somente para Azure AD objeto B2C). Todas as propriedades listadas na tabela a seguir são necessárias.

objeto identityProvider

Propriedade Tipo Descrição
clientId Cadeia de caracteres O ID do cliente para o aplicativo. Esta é a ID do cliente obtida ao registrar o aplicativo com o provedor de identidade.
clientSecret Cadeia de caracteres O segredo do cliente para o aplicativo. Este é o segredo do cliente obtido ao registrar o aplicativo com o provedor de identidade.
nome Cadeia de caracteres O nome de exibição exclusivo do provedor de identidade.
tipo Cadeia de caracteres A identidade do provedor de identidade.
    Para cenário B2B:
  • Google
  • Facebook
    Para o cenário B2C:
  • Microsoft
  • Google
  • Amazon
  • LinkedIn
  • Facebook
  • GitHub
  • Twitter
  • Weibo
  • QQ
  • WeChat
  • OpenIDConnect

objeto openIdConnectProvider

Propriedade Tipo Descrição
clientId Cadeia de caracteres O ID do cliente para o aplicativo. Esta é a ID do cliente obtida ao registrar o aplicativo com o provedor de identidade.
clientSecret Cadeia de caracteres O segredo do cliente para o aplicativo. Este é o segredo do cliente obtido ao registrar o aplicativo com o provedor de identidade.
nome Cadeia de caracteres O nome de exibição exclusivo do provedor de identidade.
tipo Cadeia de caracteres A identidade do provedor de identidade. O valor deve ser OpenIdConnect.
claimsMapping claimsMapping As userId propriedades e displayname são necessárias no objeto claimsMapping.
metadadosUrl Cadeia de caracteres A URL do documento de metadados do provedor de identidade OpenID Connect.
responseMode Cadeia de caracteres Define o método que deve ser usado para enviar os dados de volta do provedor de identidade personalizado para Azure AD B2C. Os seguintes modos de resposta podem ser usados:
  • form_post : este modo de resposta é recomendado para melhor segurança. A resposta é transmitida por meio do método HTTP POST, com o código ou token sendo codificado no corpo usando o formato application/x-www-form-urlencoded.
  • query : o código ou token é retornado como um parâmetro de consulta.
responseType Cadeia de caracteres Descreve que tipo de informação é enviada de volta na chamada inicial para o authorization_endpoint do provedor de identidade personalizado. Os seguintes tipos de resposta podem ser usados:
  • code: De acordo com o fluxo de código de autorização, um código será retornado de volta ao Azure AD B2C. Azure AD B2C passa a chamar o token_endpoint para trocar o código pelo token.
  • id_token: um token de ID é retornado de volta ao Azure AD B2C do provedor de identidade personalizado.
  • token: um token de acesso é retornado ao Azure AD B2C do provedor de identidade personalizado. (Esse valor não é suportado por Azure AD B2C no momento)
scope Cadeia de caracteres O escopo define as informações e permissões que você está procurando coletar do seu provedor de identidade personalizado.

Resposta

Se for bem-sucedido, esse método retornará um 201 Created código de resposta e identityProvider ou openIdConnectProvider (somente para Azure AD objeto B2C) no corpo da resposta. Caso não consiga, um 4xx erro será retornado com detalhes específicos.

Exemplos

Exemplo 1: Criar uma identidade específicaProvider

Solicitação

O exemplo a seguir mostra uma solicitação.

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

{
  "@odata.type": "microsoft.graph.identityProvider",
  "name": "Login with Amazon",
  "type": "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.identityProvider",
    "id": "Amazon-OAUTH",
    "name": "Login with Amazon",
    "type": "Amazon",
    "clientId": "56433757-cadd-4135-8431-2c9e3fd68ae8",
    "clientSecret": "*****"
}

Exemplo 2: criar um openIDConnectProvider específico (somente para Azure AD B2C)

Solicitação

O exemplo a seguir mostra uma solicitação.

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

{
  "@odata.type": "microsoft.graph.openIdConnectProvider",
    "name": "Login with the Contoso identity provider",
    "type": "OpenIDConnect",
    "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.openIdConnectProvider",
  "id": "OIDC-V1-MyTest-085a8a0c-58cb-4b6d-8e07-1328ea404e1a",
  "name": "Login with the Contoso identity provider",
  "type": "OpenIDConnect",
  "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"
}