Partilhar 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.

Criar um novo objeto identityProvider .

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegada (conta corporativa ou de estudante) IdentityProvider.ReadWrite.All Indisponível.
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application IdentityProvider.ReadWrite.All Indisponível.

Importante

Em cenários delegados com contas escolares ou profissionais, o utilizador com sessão iniciada tem de ter uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada. O Administrador do Fornecedor de Identidade Externo é a função com menos privilégios suportada para esta operaçã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 do pedido, forneça uma representação JSON do objeto identityProvider ou openIdConnectProvider (apenas para Azure AD 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 o 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 tem de ser OpenIdConnect.
claimsMapping claimsMapping As userId propriedades e displayname são necessárias no objeto claimsMapping.
metadataUrl Cadeia de caracteres O URL do documento de metadados do fornecedor de identidade do OpenID Connect.
responseMode Cadeia de caracteres Define o método que deve ser utilizado para enviar os dados de volta do fornecedor de identidade personalizado para Azure AD B2C. Os seguintes modos de resposta podem ser utilizados:
  • form_post : este modo de resposta é recomendado para uma melhor segurança. A resposta é transmitida através do método HTTP POST, com o código ou token a ser codificado no corpo com o formato application/x-www-form-urlencoded.
  • query : o código ou token é devolvido como um parâmetro de consulta.
responseType Cadeia de caracteres Descreve o tipo de informação que é reencaminhada na chamada inicial para o authorization_endpoint do fornecedor de identidade personalizado. Podem ser utilizados os seguintes tipos de resposta:
  • code: De acordo com o fluxo de código de autorização, será devolvido um código ao Azure AD B2C. Azure AD B2C, chama o token_endpoint para trocar o código do token.
  • id_token: é devolvido um token de ID ao Azure AD B2C a partir do fornecedor de identidade personalizado.
  • token: é devolvido um token de acesso ao Azure AD B2C a partir do fornecedor de identidade personalizado. (Neste momento, este valor não é suportado pelo Azure AD B2C)
scope Cadeia de caracteres O âmbito define as informações e permissões que pretende recolher do seu fornecedor de identidade personalizado.

Resposta

Se for bem-sucedido, este método devolve um 201 Created código de resposta e um código de respostaProvider ou um objeto openIdConnectProvider (apenas para Azure AD 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 (apenas 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"
}