Criando um registro do usuário OIDC no API Manager

Crie um registro de usuário OIDC específico da organização quando a autenticação multifator (MFA) for necessária.

Importante: se você estiver usando X (anteriormente conhecido como Twitter) como seu provedor OIDC, o API Connect suportará apenas o método OAuth 1.0a , portanto, seu aplicativo X deverá ser configurado para usar OAuth 1.0a. Outros provedores OIDC suportam OAuth 2.0.

O API Connect fornece dois métodos para criar um registro do usuário do OIDC no API Designer, conforme descrito nas seções a seguir:

Usando a UI para criar um registro do usuário do OIDC

Use a interface de usuário do API Designer para criar um registro de usuário OIDC específico da organização quando a autenticação multifator (MFA) for necessária.

  1. Na página de navegação do API Designer, clique em Recursos Resources.
  2. Clique em Registros do Usuário
  3. Clique em Criar e selecione OIDC User Registry.
    Importante: Não compartilhe registros de usuários entre o API Manager e o Portal do desenvolvedor, nem entre sites do Portal do desenvolvedor quando a integração de autoatendimento estiver ativada ou quando forem esperadas exclusões de contas em qualquer um dos sites. Você deve criar registros do usuário separados para eles, mesmo se os registros separados apontarem para o mesmo provedor de autenticação de backend (por exemplo, um servidor LDAP). Essa separação permite que o Portal do desenvolvedor mantenha endereços de e-mail exclusivos em todo o catálogo, sem que o API Manager precise do mesmo requisito. Isso também evita problemas com usuários que excluem suas contas do Portal do desenvolvedor, o que afeta seu acesso ao API Manager.
  4. Na página Criar registro do usuário do OIDC, use os campos em cada uma das seções a seguir para configurar as configurações de registro e, em seguida, clique em Criar.

    Muitas das configurações de registro são pré-configuradas para simplificar as etapas de configuração.

    Tipo de Provedor
    Use as configurações na Tabela 1 para definir o tipo de provedor.
    Tabela 1. Configurações de tipo de provedor
    Campo Descrição
    Tipo de Provedor Provedor OIDC. Selecione um dos seguintes provedores OIDC suportados:
    • <
    • GitHub
    • Google
    • LinkedIn
    • Folga
    • X (anteriormente conhecido como Twitter)
    • Windows Live
    • O OIDC padrão (o valor padrão permite especificar outro provedor)
    Título Forneça um nome descritivo para fins de exibição.
    Nome Automaticamente gerado. Este nome é usado em comandos da CLI para referenciar o registro. Para obter detalhes dos comandos da CLI para gerenciar registros do usuário, consulte a documentação de referência da CLI do kit de ferramentas.
    Resumo Forneça uma breve descrição do novo registro.
    E-mail necessário Selecione esta opção se um endereço de e-mail for necessário como parte de um processo de integração do usuário Se selecionado, o provedor de identidade de origem deverá fornecer o endereço de e-mail como parte do processo de autenticação durante a integração.
    Observação: um endereço de e-mail não é exigido por padrão para a integração com o Cloud Manager ou o Portal do desenvolvedor.
    Endereço de e-mail exclusivo Selecione esta opção se os endereços de e-mail devem ser exclusivos no registro do usuário.
    Observação: cada conta no Portal do desenvolvedor, inclusive em registros de usuários diferentes para o mesmo site, deve ter um endereço de e-mail exclusivo, incluindo a conta de administrador do site.
    Terminal do provedor
    Gerado automaticamente para os provedores mais suportados. No campo Terminal de autorização, digite a URL do terminal de autorização do provedor.
    Terminal do token
    Preencha as configurações conforme descrito na Tabela 2.
    Tabela 2. Configurações do terminal de token
    Campo Descrição
    URL Pré-configurado para a maioria dos provedores do OIDC suportados. Digite a URL do terminal de token do provedor.
    TLS Selecione o Perfil do cliente TLS para o terminal de token (OIDC deve ser configurado para usar TLS). O padrão é Perfil do cliente TLS padrão.
    Terminal de UserInfo
    Preencha as configurações conforme descrito na Tabela 3.
    Tabela 3. Configurações do terminal UserInfo
    Campo Descrição
    URL Pré-configurado para a maioria dos provedores do OIDC suportados. Digite a URL do terminal userinfo do provedor.
    ParaLinkedIn, o endpoint mudou e agora usa o seguinte valor:
    https://api.linkedin.com/v2/me
    Se você configurou anteriormente o registro OIDC usando o protocolo OIDC LinkedIn anterior, não será necessário especificar esse terminal.
    TLS Selecione o Perfil do Cliente TLS para o terminal userinfo (OIDC deve ser configurado para usar TLS). O padrão é Perfil do cliente TLS padrão.
    Terminal de E-mail
    Necessário para o protocolo OIDC do LinkedIn anterior

    Devido a mudançasLinkedIn, as definições de configuração do registro OIDC emAPI Connect também mudou. Se você estiver configurando um novo registro OIDC paraLinkedIn, você pode deixar o campo Email Endpoint em branco.

    Se você configurou anteriormente um registro do OIDC para uso com o protocolo OIDC anterior do LinkedIn , atualize sua configuração fornecendo as configurações do terminal de E-mail conforme descrito na Tabela 4. A nova configuração é necessária para o protocolo OIDC LinkedIn anterior.

    Tabela 4. Configurações do Terminal de E-mail
    Campo Descrição
    URL Para o protocolo OIDC LinkedIn anterior, esse campo é padronizado para o valor a seguir:
    https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))
    É possível substituir a configuração digitando um novo valor.
    TLS Selecione o Perfil do Cliente TLS para o terminal userinfo (OIDC deve ser configurado para usar TLS). O padrão é Perfil do cliente TLS padrão.
    Terminal JWKS
    Preencha as configurações conforme descrito na Tabela 5.
    Tabela 5. Configurações do terminal JWKS
    Campo Descrição
    URL Digite a URL do terminal somente leitura que contém as informações de chaves públicas no formato JWKS.
    TLS Selecione o Perfil do Cliente TLS para o terminal userinfo (OIDC deve ser configurado para usar TLS). O padrão é Perfil do cliente TLS padrão.
    Efetuar Logout
    É possível configurar um dos seguintes tipos de suporte de logout, mas não ambos:
    • Redirecionamento de logout:

      Permite especificar o que o usuário vê após efetuar logout do API Connect; por exemplo, você pode desejar "redirecionar" o usuário para o terminal de logout do provedor OIDC ou para outro endereço. Quando o usuário faz logout do site API Connect, o navegador é redirecionado para o URL especificado para processamento adicional pelo URL especificado.

    • Logout iniciado por RP:

      Fornece um formulário mais seguro de acordo com o OpenID Connect RP-Initiated Logout 1.0 Profile. Quando o usuário sai do site API Connect, API Connect emite uma solicitação POST para o URL do endpoint especificado para limpar a sessão do usuário. Com essa opção, você também pode fornecer opcionalmente um URL de endpoint de redirecionamento de logout do RP.

    Preencha as configurações conforme descrito na Tabela 6.

    Tabela 6. Opções de logout
    Campo Descrição
    URL de redirecionamento de logout Opcional. Forneça um URL para redirecionar o navegador quando o usuário se desconectar do site API Connect.

    Se você usar essa opção, não ative o Logout de RP do OIDC

    Ativar o logout OIDC RP Selecione esta opção para usar o logout iniciado por RP em vez de o redirecionamento de logout convencional

    Se você usar essa opção, não forneça um URL de redirecionamento de Logout. Com o logout iniciado por RP, você pode especificar opcionalmente um URL de redirecionamento de logout por RP.

    Terminal da URL em que o RP emitirá uma solicitação POST Forneça o URL do ponto de extremidade em que a solicitação POST será executada; por exemplo, o ponto de extremidade de autorização do provedor OpenID.
    TLS Selecione o perfil TLS para usar ao enviar a solicitação POST para o terminal do provedor OpenID .
    URL do terminal de redirecionamento do logout RP Opcional. Forneça um URL para o qual o provedor de OIDC possa redirecionar após a operação de logout. O URL funciona como post_logout_redirect_uri, conforme descrito no perfil 1.0 do OpenID Connect RP-Initiated Logout.
    Incluir refresh_token no logout Opcional. Permita que o refresh_token seja incluído, além do id_token_hint, de acordo com o OpenID Connect RP-Initiated Logout 1.0 Profile.
    Informações sobre o Cliente
    Preencha as configurações conforme descrito na Tabela 7.
    Tabela 7. Configurações de informações do cliente
    Campo Descrição
    ID do cliente Forneça o ID do cliente do aplicativo que está registrado com o provedor OIDC selecionado.
    Segredo do cliente Forneça o segredo do cliente do aplicativo que está registrado com o provedor OIDC selecionado. Esse campo é opcional quando você cria um diretório OIDC do tipo Padrão e configura o Método de autenticação de cliente como Corpo do formulário codificado por dados

    Se não estiver usando o segredo do cliente, verifique se o TLS mútuo está configurado com o provedor do OIDC. Para ativar o TLS mútuo, crie um perfil TLS e inclua-o na configuração do registro de usuário do OIDC.

    Tipo de resposta Pré-configurado para a maioria dos provedores do OIDC suportados. Especifique o tipo de dados da resposta que será recebida do provedor OIDC.
    Escopos Pré-configurado para a maioria dos provedores do OIDC suportados. Especifique o escopo de acesso para o provedor OIDC.
    Método de Autenticação do Cliente Pré-configurado para a maioria dos provedores do OIDC suportados. Selecione o método de autenticação a ser usado com o provedor OIDC. As opções são:
    • Esquema de autenticação básica http
    • Corpo do formulário codificado por dados
    Suporte Adicional
    Opcional. Selecione os parâmetros de segurança adicionais descritos na Tabela 8
    Tabela 8. Opções de segurança adicionais
    Parâmetro de segurança Configurando o nome para CLI Descrição
    NONCE nonce Ativar a extensão NONCE para evitar que solicitações comprometidas sejam usadas novamente (reproduzidas).
    PKCE (Proof Key for Code Exchange) pkce Ativar a extensão PKCE para permitir que os clientes públicos possam minimizar a ameaça de ter o código de autorização interceptado.
    Recursos avançados
    Opcional. Selecione os recursos avançados descritos na Tabela 9
    Tabela 9. Recursos avançados
    Rótulo de Recurso / UI Configurando o nome para CLI Descrição
    Integração automática auto_onboard Permitir que os usuários executem chamadas para APIs sem efetuar login primeiro, desde que apresentem um token válido emitido pelo provedor OIDC.
    Nota: não se aplica a organizações de consumidores
    Usar sempre o terminal userinfo userinfo Configura o registro do usuário OIDC para buscar sempre dados do usuário do terminal userinfo, se preenchido.
    Use o Portal como terminal para o tráfego do provedor OIDC externo proxy_redirect Ao autenticar usuários, redirecione o provedor OIDC externo para se comunicar com o Portal do desenvolvedor em vez do API Manager. Quando ativado, o URI de redirecionamento do Portal do desenvolvedor deve ser definido como /ibm_apim/oidcredirect. . Para obter detalhes, consulte o URI de redirecionamento.
    Retornar token de acesso de terceiros proxy_access_token Incluir o token de acesso OIDC de terceiros na resposta.
    Nota: ative essa configuração apenas para propósitos de depuração.

    Essa configuração não é recomendada em um ambiente de produção. Quando essa configuração for ativada, o tamanho do token será aumentado quando uma solicitação for feita para o API Connect usando o token O tamanho maior do token pode exceder o limite do protocolo HTTP, resultando em um erro ERR_HTTP2_PROTOCOL_ERROR ou ERR_CONNECTION_CLOSED.

    É possível evitar o problema de tamanho ativando adicionalmente Retornar access_token e id_token de terceiros como solicitações separadas para que os tokens de terceiros não sejam incluídos no access_token que é emitido API Connect.

    Retornar o id_token de terceiros proxy_id_token Incluir o OIDC id_token de terceiros na resposta.
    Nota: ative essa configuração apenas para propósitos de depuração.

    Essa configuração não é recomendada em um ambiente de produção. Quando essa configuração for ativada, o tamanho do token será aumentado quando uma solicitação for feita para o API Connect usando o token O tamanho maior do token pode exceder o limite do protocolo HTTP, resultando em um erro ERR_HTTP2_PROTOCOL_ERROR ou ERR_CONNECTION_CLOSED.

    É possível evitar o problema de tamanho ativando adicionalmente Retornar access_token e id_token de terceiros como solicitações separadas para que os tokens de terceiros não sejam incluídos no access_token que é emitido API Connect.

    Retornar access_token e id_token de terceiros como solicitações separadas proxied_token_as_separate_claim Inclua os tokens OIDC de terceiros (os proxy_access_token e proxy_id_token) na resposta como solicitações separadas em vez de incluí-los no access_token emitido pelo API Connect. Para usar esse recurso, deve-se ativar pelo menos uma das opções de Retornar token de acesso de terceiros e Retornar id_token de terceiros

    Separar os tokens de terceiros os impede de afetar o tamanho do access_token emitido pelo API Connect.

    Retransmissão do token token_relay Permita que access_token/refresh_token envie redirecionamento 302 para logout
    POST de informações do usuário post_userinfo Se suportado por seu provedor OIDC, usando o método HTTP POST ao entrar em contato com o terminal userinfo.
    Nota: nem todos os provedores OIDC suportam POST. Assegure-se de que seu provedor OIDC suporte isso antes de ativar o recurso.
    Use a configuração de expiração do token IBM APIC a partir da nuvem override_provider_ttl Substitua a configuração de expiração do token do provedor OIDC pelas configurações de expiração do token de acesso e do token de atualização que são configuradas no API Connect. Para obter informações sobre como configurar o token de acesso e as configurações de expiração do token de atualização no API Connect, consulte Configurando tempos limites para tokens de acesso e tokens de atualização
    Desativar verificação de hash (apenas CLI) disable_hash_verification Desativar at_hash, c_hash
    Mapeamento de Usuários
    Preencha as configurações conforme descrito na Tabela 10.
    Nota: os campos Mapeamento de usuário são pré-configurados para a maioria dos provedores OIDC suportados para minimizar possíveis erros; tenha cuidado ao mudar as configurações. Para a opção OIDC padrão, entre em contato com seu provedor OIDC para obter os detalhes dos campos.
    Tabela 10. Configurações de mapeamento do usuário
    Campo Descrição
    Nome do usuário O nome do campo no token de resposta que contém o nome de usuário do usuário.
    Nota: o campo Nome do usuário deve ser exclusivo para esse registro do OIDC, porque ele identifica o usuário no sistema e não pode ser mudado
    E-mail O nome do campo no token de resposta que contém o endereço de e-mail do usuário.
    Nome O nome do campo no token de resposta que contém o nome do usuário.
    Sobrenome O nome do campo no token de resposta que contém o sobrenome do usuário.
    URI de redirecionamento
    A seção URI de redirecionamento lista os terminais para os quais o servidor de autorização OIDC irá redirecionar o código de autorização. Há um terminal para cada tipo de organização do API Connect : administração de nuvem, organização do provedor e organização do consumidor... O terminal de redirecionamento é necessário quando um usuário registra sua aplicação com o provedor OIDC. Por exemplo, se este registro de usuário de OIDC for usado por uma organização do provedor, o usuário deverá registrar o terminal de redirecionamento da organização do provedor com o provedor OIDC. Esses campos somente leitura são fornecidos para que você copie os valores do terminal conforme necessário.
    Observação: se o Portal do Desenvolvedor for acessível publicamente e você selecionar a opção proxy_redirect , deverá configurar o provedor do OIDC para usar o seguinte URI de redirecionamento:
    • Caminho do URI: /ibm_apim/oidcredirect
    • Completo URL exemplo: https://<your-developer-portal-domain>/ibm_apim/oidcredirect
    Em que:

    <your-developer-portal-domain> é o nome real do host do seu Portal do desenvolvedor voltado para o público; por exemplo, developer.example.com.

    Essa configuração garante que o provedor OIDC possa redirecionar corretamente os usuários autenticados de volta ao Portal do desenvolvedor como parte do fluxo de login.

Ativando o registro do usuário OIDC

Conclua as etapas a seguir para ativar o registro de novos usuários para um catálogo específico no Portal do desenvolvedor. Repita esse procedimento para cada catálogo que usará o novo registro.

  1. No painel de navegação, clique em ícone Gerenciar Manage.
  2. Selecione o catálogo para o qual você ativará o novo registro do usuário do OIDC.
  3. Na área de janela de navegação, clique na guia Configurações do Catálogo
  4. Na página Configurações , clique em Onboarding(Onboarding)
  5. Na página Integração , clique em Editar na seção Registros do usuário do catálogo .
  6. Na página Editar registro do usuário, selecione o novo registro do usuário do OIDC para ativar o seu catálogo.
  7. Clique em Salvar.

Usando a CLI para criar um registro do usuário OIDC

Use a CLI do developer toolkit para criar um registro do usuário do OIDC específico da organização quando a autenticação de diversos fatores (MFA) for necessária.

Importante: Não compartilhe registros de usuários entre o API Manager e o Portal do desenvolvedor, nem entre sites do Portal do desenvolvedor quando a integração de autoatendimento estiver ativada ou quando forem esperadas exclusões de contas em qualquer um dos sites. Você deve criar registros do usuário separados para eles, mesmo se os registros separados apontarem para o mesmo provedor de autenticação de backend (por exemplo, um servidor LDAP). Essa separação permite que o Portal do desenvolvedor mantenha endereços de e-mail exclusivos em todo o Catálogo, sem que o API Manager precise do mesmo requisito. Isso também evita problemas com usuários que excluem suas contas do Portal do desenvolvedor, o que afeta seu acesso ao API Manager.
Configure um registro do usuário do OIDC definindo primeiro os detalhes do registro em um arquivo de configuração Em seguida, você usa um comando da CLI para criar o registro, passando o arquivo de configuração como parâmetro. Para tornar o registro disponível para o Portal do desenvolvedor, você deve ativar o registro no catálogo associado.
Nota:
  • Um registro OIDC não pode ser usado para proteger APIs no gateway.
  • Se você estiver usando um registro de usuário OIDC para login, o servidor de gerenciamento tratará da interação com o provedor OIDC de terceiros. O servidor de gerenciamento é considerado o aplicativo do ponto de vista do provedor de OIDC de terceiros. Portanto, o ponto de extremidade de redirecionamento do OIDC no servidor de gerenciamento, que o servidor de autorização de terceiros usa para enviar o token, deve estar acessível ao provedor do OIDC. Para garantir as funções de login, você deve permitir o acesso se o seu ambiente API Connect estiver protegido por um firewall. Isso se aplica ao login do usuário no API Manager e no Cloud Manager.
  • Se o registro de usuário do OIDC for usado para o login do consumidor no Portal do desenvolvedor e o Portal do desenvolvedor estiver na DMZ, você poderá usar a propriedade proxy_redirect . Isso permite que o Portal do desenvolvedor atue como o ponto de extremidade para a comunicação de proxy entre o provedor OIDC e o site API Connect.
  • Quando você registra seu aplicativo com o provedor de OIDC de terceiros, é necessário fornecer o URI de redirecionamento de OIDC associado, https://consumer.mycompany.com/consumer-api/oauth2/redirect por exemplo. No entanto, não é possível acessar essas informações até que você crie o registro de usuário do OIDC em API Connect. Primeiro, registre seu aplicativo sem essas informações e depois atualize-o, conforme detalhado nas instruções desta página.

Efetuando Login no servidor de gerenciamento

Antes de poder criar um registro do usuário do OIDC, deve-se efetuar login no servidor de gerenciamento por meio da CLI. Use o comando a seguir:
apic login --server mgmt_endpoint_url --username user_id --password password --realm provider/identity_provider
É possível determinar qual provedor de identidade usar no parâmetro --realm inserindo o comando a seguir para ver uma lista de todos os provedores de identidade disponíveis (não é necessário estar conectado para usar este comando):
apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm
Por exemplo,
apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm 
total_results: 2
results:
  - title: API Manager User Registry
    realm: provider/default-idp-2
  - title: Corporate LDAP user registry
    realm: provider/corporate-ldap
O valor title deve permitir que você determine qual provedor de identidade usar; será possível, então, copiar o parâmetro --realm correspondente diretamente do valor realm exibido. Para todos os provedores de identidade que o administrador criou após a instalação do API Connect , os nomes são determinados no momento da criação. O Registro do usuário local do API Manager padrão para efetuar login como um membro de uma organização do provedor é default-idp-2.

Para obter detalhes completos do comando apic login , consulte Efetuando login em um servidor de gerenciamento..

Definindo sua Configuração de Registro OIDC

Defina a configuração do registro do usuário OIDC em um arquivo YAML. No mínimo, o arquivo YAML deve incluir as configurações da lista a seguir. Para configurações adicionais, consulte as tabelas fornecidas com a versão da UI do procedimento neste tópico.
title: registry_title
integration_url: oidc_integration_url
case_sensitive: case_sensitivity_setting
email_required: true_or_false
email_unique_if_exist: true_or_false
configuration:
  client_id: 'app_client_id'
  client_secret: 'my-client-secret'
  provider_type: oidc_provider_type
em que:
  • registry_title é o título descritivo escolhido para o registro do usuário.
  • oidc_integration_url é o URL de integração do OIDC em sua configuração API Connect. É possível determinar a URL de integração do OIDC usando o comando da CLI a seguir:
    apic integrations:list --server mgmt_endpoint_url --subcollection user-registry
  • case_sensitivity_setting determina se o seu registro do usuário faz distinção entre maiúsculas e minúsculas. Os valores válidos são:
    • true
    • false
    Para assegurar a manipulação adequada de capitalização de nome do usuário, assegure-se de que sua configuração de distinção entre maiúsculas e minúsculas aqui corresponda à configuração no provedor OIDC de backend:
    • Configure case_sensitive como true apenas se o provedor OIDC de backend suportar distinção entre maiúsculas e minúsculas.
    • Configure case_sensitive como false se o provedor OIDC de back-end não suportar distinção entre maiúsculas e minúsculas.
    Nota: depois que pelo menos um usuário tiver sido incluído no registro, não será possível alterar essa configuração
  • email_required determina se um endereço de e-mail é necessário como parte de um processo de integração do usuário Os valores válidos são:
    • true
    • false
    Se configurado como true, o provedor de identidade de origem deverá fornecer o endereço de e-mail como parte do processo de autenticação durante a integração.
    Observação: um endereço de e-mail não é exigido por padrão para a integração com o Cloud Manager ou o API Manager, mas é exigido para a integração com o Portal do desenvolvedor.
  • email_unique_if_exist determina se os endereços de email devem ser exclusivos dentro do registro do usuário Os valores válidos são:
    • true
    • false
    Observação: cada conta no Portal do desenvolvedor, inclusive em registros de usuários diferentes para o mesmo site, deve ter um endereço de e-mail exclusivo, incluindo a conta de administrador do site.
  • app_client_id é o ID do cliente do aplicativo que está registrado com o servidor OIDC e deve estar no formato de sequência.
  • my-client-secret é o segredo do cliente do aplicativo que está registrado com o servidor OIDC e deve estar no formato de sequência.
  • oidc_provider_type é o tipo de provedor OIDC; especifique um dos valores a seguir:
    • facebook
    • github
    • google
    • linkedin
    • slack
    • twitter
    • windows_live
    • standard
      Nota:
      • Use o tipo de provedor twitter se seu provedor OIDC for X (anteriormente conhecido como Twitter).
      • Use o tipo de provedor standard para qualquer provedor OIDC que esteja em conformidade com o padrão OIDC.
        Se o tipo de provedor é standard, deve-se incluir as propriedades adicionais a seguir na seção configuration do seu arquivo YAML:
        authorization_endpoint: 'oidc_auth_endpoint'
        token_endpoint:
          endpoint: 'oidc_token_endpoint'
        em que:
        • oidc_auth_endpoint é o terminal de autorização no servidor OIDC e deve estar no formato de sequência.
        • oidc_token_endpoint é o terminal do token no servidor OIDC e deve estar no formato de sequência.

Configurações do OIDC padrão

Para cada tipo de provedor OIDC, o API Connect assume uma configuração padrão, mas é possível substituir as propriedades de configuração padrão em seu arquivo YAML.

Nota: os terminais estão sujeitos a mudanças; quando você cria um registro, deve-se verificar o terminal padrão fornecido pelo API Connect

O API Connect faz o melhor esforço para atualizar terminais para os tipos de registro do usuário OIDC conhecidos. No entanto, o provedor OIDC pode mudar o terminal a qualquer momento. É responsabilidade do cliente confirmar se os terminais fornecidos pelo API Connect são suportados pelo provedor OIDC e atualizar a configuração do OIDC conforme necessário.

As configurações padrão são as seguintes:

  • <
    authorization_endpoint: 'https://www.facebook.com/v3.1/dialog/oauth'
    token_endpoint:
      endpoint: 'https://graph.facebook.com/v3.1/oauth/access_token'
    userinfo_endpoint:
      endpoint: 'https://graph.facebook.com/me'
    scope: email public_profile
    field_mapping:
      username: email
      email: email
      last_name: last_name
      first_name: first_name
  • GitHub
    authorization_endpoint: 'https://github.com/login/oauth/authorize'
    token_endpoint:
      endpoint: 'https://github.com/login/oauth/access_token'
    userinfo_endpoint:
      endpoint: 'https://api.github.com/user'
    scope: 'read:user user:email'
    field_mapping:
      username: login
      email: email
      last_name: name
      first_name: name
  • Google
    authorization_endpoint: 'https://accounts.google.com/o/oauth2/v2/auth'
    token_endpoint:
      endpoint: 'https://www.googleapis.com/oauth2/v4/token'
    scope: openid profile email
    field_mapping:
      username: email
      email: email
      last_name: family_name
      first_name: given_name
    
  • LinkedIn

    Algumas configurações diferem entre a configuração anterior e a configuração mais nova.. Certifique-se de usar as configurações corretas para o protocolo LinkedIn que você está usando

    • Novo protocolo OIDC:
      authorization_endpoint: 'https://www.linkedin.com/oauth/v2/authorization'
        credential_location: form_body
        field_mapping:
          email: email
          username: name
          first_name: given_name
          last_name: family_name
        scope: openid profile email
        token_endpoint:
          endpoint: 'https://www.linkedin.com/oauth/v2/accessToken'
        userinfo_endpoint:
          endpoint: 'https://api.linkedin.com/v2/me'
    • Protocolo OIDC anterior:
      authorization_endpoint: 'https://www.linkedin.com/oauth/v2/authorization'
      token_endpoint:
        endpoint: 'https://www.linkedin.com/oauth/v2/accessToken'
      userinfo_endpoint:
        endpoint: 'https://api.linkedin.com/v2/me'
      email_endpoint:
        endpoint: 'https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))'
      scope: r_liteprofile r_emailaddress
      field_mapping:
        username: emailAddress
        email: emailAddress
        last_name: localoizedLastName
        first_name: localizedFirstName
      credential_location: form_body
  • Folga
    authorization_endpoint: 'https://slack.com/oauth/authorize'
    token_endpoint:
      endpoint: 'https://slack.com/api/oauth.access'
    userinfo_endpoint:
      endpoint: 'https://slack.com/api/users.identity'
    scope: identity.basic identity.email
    field_mapping:
      username: user.email
      email: user.email
      last_name: user.name
      first_name: user.name
  • X (anteriormente conhecido como Twitter)
    request_endpoint: https://api.x.com/oauth/request_token'
    authorization_endpoint: https://api.x.com/oauth/authenticate'
    token_endpoint: 
        endpoint: 'https://api.x.com/oauth/access_token'
    userinfo_endpoint:
        endpoint: 'https://api.x.com/1.1/account/verify_credentials.json'
    oauth_signature_method: 'HMAC-SHA1'
    field_mapping: 
        email: email
        first_name: name
        last_name: name
        username: screen_name
  • Windows Live
    authorization_endpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize'
    token_endpoint:
      endpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/token'
    scope: openid offline_access profile email
    field_mapping:
      email: email
      username: preferred_username
      first_name: name
      last_name: name
    
  • Padrão
    
    response_type: code
    scope: openid
    field_mapping:
      username: sub
      email: email
      last_name: family_name
      first_name: given_name
    credential_location: auth_header
    Embora essa seja a configuração padrão para o tipo de provedor standard, é necessário entrar em contato com seu provedor OIDC para obter os detalhes dos campos que você precisa definir.

Criando seu registro do usuário do OIDC

Para criar seu registro do usuário do OIDC, use o comando da CLI a seguir:
apic user-registries:create --server mgmt_endpoint_url --org organization_name oidc_config_file
em que:
  • mgmt_endpoint_url é a URL de terminal da API da plataforma.
  • organization_name é o valor da propriedade name de sua organização do provedor.
  • oidc_config_file é o nome do arquivo YAML que define a configuração de seu registro do usuário do OIDC.
Na conclusão da criação do registro, o comando exibe os detalhes do resumo a seguir:
registry_name registry_url
Por padrão, o registry_name é derivado da propriedade title no arquivo YAML de configuração, mas é possível substituir isso incluindo uma propriedade name no arquivo. O registry_url é um URL interno que o site API Connect atribui ao registro.
Depois de ter criado o registro do usuário do OIDC, deve-se atualizar seu registro de aplicativo com o provedor OIDC de terceiro para incluir o URI de redirecionamento do OIDC; é possível obter essas informações usando o comando a seguir, que exibe os detalhes do registro na janela de comando:
apic user-registries:get --server mgmt_endpoint_url --org organization_name registry_name --output -
O valor oidc_redirect_uri necessário está na seção consumer:; por exemplo:
consumer:
  oidc_redirect_uri: https://consumer.mycompany.com/consumer-api/oauth2/redirect

Ativando seu registro do OIDC em um Catálogo

Para disponibilizar o registro do OIDC para integração e autenticação de usuários do Portal do desenvolvedor, é necessário habilitá-lo no catálogo associado a esse Portal do desenvolvedor. Conclua as seguintes etapas:
  1. Determine a URL de seu registro do usuário do OIDC usando o comando a seguir:
    apic user-registries:list --server mgmt_endpoint_url --org organization_name
  2. Insira o comando a seguir (o caractere de hífen de finalização significa que o comando obtém a entrada por meio da linha de comandos):
    apic configured-catalog-user-registries:create --server mgmt_endpoint_url --org organization_name --catalog catalog_name -
    em que catalog_name é o valor donamedo catálogo necessário. O comando exibe
    Reading CONFIGURED_CATALOG_USER_REGISTRY_FILE arg from stdin
  3. Insira os dados a seguir, seguidos por uma nova linha:
    user_registry_url: oidc_registry_url
    em que oidc_registry_url é o URL do seu registro OIDC, obtido na etapa 1.
  4. Pressione CTRL D para interromper a entrada.

Para obter detalhes de todos os comandos apic user-registries e apic configured-catalog-user-registries , consulte a documentação de referência da CLI do kit de ferramentas.

Você também pode concluir as operações descritas neste tópico usando as APIs REST do site API Connect ; consulte a documentação da API REST do site API Connect .