Partilhar via


Configurar um fornecedor OpenID Connect

Os fornecedores de identidades OpenID Connect são serviços que estão em conformidade com a especificação OpenID Connect. OpenID Connect introduz o conceito de um token de ID. Um token de ID é um token de segurança que permite a um cliente verificar a identidade de um utilizador. Também obtém informações básicas do perfil sobre o utilizador, conhecido como afirmações.

Os fornecedores do OpenID Connect Microsoft Entra External ID, Microsoft Entra ID e Microsoft Entra ID com vários inquilinos são incorporados no Power Pages. Este artigo explica como adicionar outros fornecedores de identidade OpenID Connect ao seu site do Power Pages.

Fluxos de autenticação suportados e não suportados no Power Pages

  • Concessão implícita
    • Este fluxo é o método de autenticação predefinido para sites do Power Pages.
  • Código de autorização
    • O Power Pages utiliza o método client_secret_post para comunicar com o ponto final do token do servidor de identidade.
    • O método private_key_jwt para autenticar com o ponto final do token não é suportado.
  • Híbrido (suporte restrito)
    • O Power Pages exige que id_token esteja presente na resposta, pelo que ter o valor response_type = como token de código não é suportado.
    • O fluxo híbrido no Power Pages segue o mesmo fluxo que a concessão implícita, e utiliza id_token para os utilizadores iniciarem sessão diretamente.
  • Chave de Prova para Troca de Código (PKCE)
    • As técnicas baseadas em PKCE para autenticar utilizadores não são suportadas.

Nota

As alterações às definições de autenticação do site podem demorar alguns minutos a refletir-se no site. Para ver as alterações imediatamente, reinicie o site no centro de administração.

Configurar o fornecedor OpenID Connect no Power Pages

  1. No seu site do Power Pages, selecione Segurança>Fornecedores de identidade.

    Se nenhum fornecedor de identidade aparecer, verifique se Início de sessão externo está definido como Ativado nas definições de autenticação gerais do seu site.

  2. Selecione + Novo fornecedor.

  3. Sob Selecionar fornecedor de início de sessão, selecione Outro.

  4. Sob Protocolo, selecione OpenID Connect.

  5. Introduzir um nome para o fornecedor.

    O nome do fornecedor é o texto no botão que os utilizadores veem quando selecionam o respetivo fornecedor de identidade na página de início de sessão.

  6. Selecione Seguinte.

  7. Em URL da Resposta, selecione Copiar.

    Não feche o separador do Power Pages no seu browser. Regressará a este em breve.

Criar um registo de aplicação no fornecedor de identidade

  1. Criar e registar uma aplicação junto do fornecedor de identidade utilizando o URL de resposta que copiou.

  2. Copie o ID da aplicação ou o ID de cliente e o segredo do cliente.

  3. Encontre os pontos finais da aplicação e copie o URL do Documento de metadados do OpenID Connect.

  4. Altere outras definições conforme necessário para o fornecedor de identidade.

Introduzir as definições do site no Power Pages

Regresse à página Configurar fornecedor de identidade do Power Pages que deixou anteriormente e introduza os seguintes valores. Opcionalmente, altere as definições adicionais, conforme necessário. Selecione Confirmar quando terminar.

  • Autoridade: introduza o URL da autoridade no seguinte formato: https://login.microsoftonline.com/<Directory (tenant) ID>/, em que o ID do <Diretório (inquilino)> é o ID do diretório (inquilino) da aplicação que criou. Por exemplo, se o ID do diretório (inquilino) no portal do Azure for aaaabbbb-0000-cccc-1111-dddd2222eeee, o URL de autoridade é https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/​.

  • ID de Cliente​: cole a ID da aplicação ou cliente da aplicação que criou.

  • URL de Redirecionamento: se o site utilizar um nome de domínio personalizado, introduza o URL personalizado; caso contrário, deixe o valor predefinido. Certifique-se de que o valor é exatamente o mesmo que o URI de redirecionamento da aplicação que criou.

  • Endereço de metadados: cole o URL do documento de metadados do OpenID Connect que copiou.

  • Âmbito: introduza uma lista separada por espaços de âmbitos a pedir através do parâmetro scope do OpenID Connect. O valor predefinido é openid.

    O valor openid é obrigatório. Mais informações sobre outras afirmações que pode adicionar.

  • Tipo de resposta: introduza o valor do parâmetro response_type do OpenID Connect. Valores possíveis incluem: code, code id_token, id_token, id_token token e code id_token token. O valor predefinido é code id_token.

  • Segredo do cliente: cole o segredo do cliente da aplicação de fornecedor. Também poderá ser referido como um segredo da aplicação ou segredo do consumidor. Esta definição é obrigatória se o tipo de resposta for code.

  • Modo de resposta: introduza o valor do parâmetro response_mode do OpenID Connect. Deve ser query se o tipo de resposta for code. O valor predefinido é form_post.

  • Fim de sessão externo: esta definição controla se o site utiliza um fim de sessão federado. Com o fim de sessão federado, quando os utilizadores terminam sessão numa aplicação ou site, também estão a terminar sessão em todas as aplicações e sites que utilizam o mesmo fornecedor de identidade. Ative-o para redirecionar os utilizadores para a experiência de fim de sessão federado quando terminar sessão no site. Desative-o para terminar a sessão dos utilizadores só no site.

  • Publicar URL de redirecionamento de fim de sessão: introduza o URL para onde o fornecedor de identidade deve redirecionar os utilizadores depois de terminarem a sessão. Esta localização deve ser definida adequadamente na configuração do fornecedor de identidade.

  • Fim de sessão iniciado pelo RP: esta definição controla se a entidade confiadora, a aplicação de cliente do OpenID Connect, pode terminar a sessão dos utilizadores. Para utilizar esta definição, ative Fim de sessão externo.

Definições adicionais no Power Pages

As definições adicionais dão-lhe um controlo mais refinado sobre a forma como os utilizadores se autenticam com o seu fornecedor de identidade do OpenID Connect. Não é necessário definir nenhum destes valores. São totalmente opcionais.

  • Filtro de emissor: introduza um filtro baseado em carateres universais que corresponde a todos os emissores em todos os inquilinos; por exemplo, https://sts.windows.net/*/. Se estiver a utilizar um fornecedor de autenticação do Microsoft Entra ID, o filtro de URL do emissor será https://login.microsoftonline.com/*/v2.0/.

  • Validar audiência: ative esta definição para validar a audiência durante a validação do token.

  • Audiências válidas: introduza uma lista separada por vírgulas de URLs de audiência.

  • Validar emissores: ative esta definição para validar o emissor durante a validação do token.

  • Emissores válidos: introduza uma lista separada por vírgulas de URLs de emissor.

  • Mapeamento de afirmações de registo​ e Mapeamento de afirmações de início de sessão: na autenticação do utilizador, uma afirmação é a informação que descreve a identidade de um utilizador, como um endereço de e-mail ou data de nascimento. Quando uma pessoa inicia sessão numa aplicação ou num site, é criado um token. Um token contém informações sobre a sua identidade, incluindo quaisquer afirmações associadas à mesma. Os tokens são utilizados para autenticar a sua identidade quando acede a outras partes da aplicação ou do site ou de outras aplicações e sites que estão ligados ao mesmo fornecedor de identidade. O mapeamento de afirmações é uma forma de alterar as informações incluídas num token. Pode ser utilizado para personalizar as informações disponíveis para a aplicação ou site e para controlar o acesso a funcionalidades ou dados. O mapeamento de afirmações de registo modifica as afirmações que são emitidas quando se regista numa aplicação ou num site. O mapeamento de afirmações de início de sessão modifica as afirmações que são emitidas quando inicia sessão numa aplicação ou num site. Saber mais sobre políticas de mapeamento de afirmações.

    As informações de utilizador podem ser fornecidas de duas maneiras:

    • Afirmações de Token de ID – atributos básicos de utilizador, como nome próprio ou e-mail, estão no token.
    • Ponto final de UserInfo – uma API segura que devolve informações detalhadas do utilizador após a autenticação.

    Para usar o ponto final UserInfo, crie uma Definição de Site chamada Authentication/OpenIdConnect/{ProviderName}/UseUserInfoEndpointforClaims e defina o valor como true.

    Opcionalmente, crie uma definição de site denominada Authentication/OpenIdConnect/{ProviderName}/UserInfoEndpoint e defina o valor para o URL de ponto final de UserInfo. Se não fornecer esta definição, o Power Pages tenta localizar o ponto final dos metadados OIDC.

    Processamento de erros:

    • Se o URL do ponto final não estiver definido e o Power Pages não conseguir localizá-lo nos metadados, o início de sessão continuará e regista um aviso.
    • Se o URL estiver definido, mas não estiver acessível, o início de sessão continuará com um aviso.
    • Se o ponto final devolver um erro de autenticação (como 401 ou 403), o início de sessão continuará com um aviso que inclui a mensagem de erro.

    Sintaxe do mapeamento:

    Para usar afirmações UserInfo em mapeamento de afirmações de início de sessão ou de registo, use este formato:

    fieldName = userinfo.claimName

    Se UseUserInfoEndpointforClaims não estiver ativado, os mapeamentos que usam o prefixo userinfo. serão ignorados.

  • Duração do nonce: introduza a duração do valor nonce, em minutos. O valor predefinido é 10 minutos.

  • Utilizar duração do token: esta definição controla se a duração da sessão de autenticação, como cookies, deve corresponder à do token de autenticação. Se o ativar, este valor anula o valor do Tempo de Duração de Expiração do Cookie de Aplicação na definição do site Authentication/ApplicationCookie/ExpireTimeSpan.

  • Mapeamento de contactos com e-mail: esta definição determina se os contactos são mapeados para um endereço de e-mail correspondente quanto iniciam sessão.

    • Ativado: associa um registo de contacto único a um endereço de e-mail correspondente e atribui automaticamente o fornecedor de identidade externo ao contacto após o início de sessão com sucesso pelo utilizador.
    • Desligado

Nota

O parâmetro do pedido UI_Locales é enviado automaticamente no pedido de autenticação e é definido para o idioma selecionado no portal.

Outros parâmetros de autorização

Use os seguintes parâmetros de autorização, mas não os defina no fornecedor OpenID Connect no Power Pages:

  • acr_values: o parâmetro acr_values permite que os fornecedores de identidade imponham níveis de garantia de segurança, como autenticação multifator (MFA). Permite que a aplicação indique o nível de autenticação necessário.

    Para usar o parâmetro acr_values, crie uma definição de site chamada Authentication/OpenIdConnect/{ProviderName}/AcrValues e defina o valor de que precisa. Quando define este valor, o Power Pages inclui o parâmetro acr_values no pedido de autorização.

  • Parâmetros de autorização dinâmicos: os parâmetros dinâmicos permitem personalizar o pedido de autorização para diferentes contextos de utilização, como aplicações incorporadas ou cenários com vários inquilino.

    • Parâmetro do pedido:

      Este parâmetro controla se a página de início de sessão ou o ecrã de consentimento aparecem. Para usá-lo, adicione uma personalização para enviá-lo como um parâmetro da cadeia de consulta para o ponto final ExternalLogin.

      Valores suportados:

      • nenhum
      • iniciar sessão
      • consentimento
      • select_account

      Formato do URL:

      {PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&prompt={value}

      O Power Pages envia este valor para o fornecedor de identidade no parâmetro do pedido.

    • Parâmetro de sugestão de início de sessão:

      Este parâmetro permite-lhe transmitir um identificador de utilizador conhecido, como um e-mail, para pré-preencher ou ignorar ecrãs de início de sessão. Para usá-lo, adicione uma personalização para enviá-lo como um parâmetro da cadeia de consulta para o ponto final ExternalLogin.

      Formato do URL:

      {PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&login_hint={value}

      Isto ajuda quando os utilizadores já têm sessão iniciada através de outra identidade, como o Microsoft Entra ID ou uma conta Microsoft (MSA), na mesma sessão.

  • Parâmetros de autorização personalizados: alguns fornecedores de identidade suportam parâmetros proprietários para comportamento de autorização específico. O Power Pages permite que os criadores configurem e transmitam estes parâmetros com segurança. Para usar estes parâmetros, adicione uma personalização para enviá-los como parâmetros da cadeia de consulta para o ponto final ExternalLogin.

    Crie uma definição de site chamada Authentication/OpenIdConnect/{Provider}/AllowedDynamicAuthorizationParameters e defina o valor como uma lista separada por vírgulas de nomes de parâmetros, como param1,param2,param3.

    Formato do URL de exemplo:

    {PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&param1=value&param2=value&param3=value

    Se qualquer um dos parâmetros (param1, param2 ou param3) não estiver na lista de parâmetros permitidos, o Power Pages ignora-o.

    Esta definição define uma lista de parâmetros personalizados que podem ser enviados no pedido de autorização.

    Comportamento

    • Transmita parâmetros na cadeia de consulta do ponto final ExternalLogin .
    • O Power Pages inclui apenas parâmetros na lista no pedido de autorização.
    • Parâmetros predefinidos, como prompt, login_hint e ReturnUrl são sempre permitidos e não precisam de ser listados.

    Formato do URL de exemplo:

    {PortalUrl}/Account/Login/ExternalLogin?ReturnUrl=%2F&provider={ProviderName}&custom_param=value

    Se custom_param não estiver na lista de parâmetros permitidos, o Power Pages ignora-o.

Consultar também

Configurar o ID Externo do Microsoft Entra com o Power Pages
Configurar um fornecedor OpenID Connect com o Microsoft Entra ID
FAQ sobre o OpenID Connect