Páginas de logon e Home Realm Discovery

Atualizado em: 19 de junho de 2015

Aplica-se ao Azure

Microsoft Azure Active Directory Controle de Acesso (também conhecido como Serviço de Controle de Acesso ou ACS) fornece duas maneiras fáceis de gerar uma página de logon federado para seu site ou aplicativo:

Opção 1: página de logon do ACS-Hosted

O ACS hospeda uma página de logon federada básica que pode ser usada em seu aplicativo de terceira parte confiável. Essa página de logon é hospedada no ponto de extremidade do protocolo Web Services Federation para seu namespace e pode ser acessada criando uma URL como a seguinte.

https://<YourNamespace>.accesscontrol.windows.net/v2/wsfederation?wa=wsignin1.0&wtrealm=<YourAppRealm>&redirect=false

Nesta URL, substitua< YourNamespace> pelo nome do namespace Controle de Acesso. Além disso, essa URL exige os seguintes parâmetros:

  • wa – Configurado como wsignin1.0

  • wtrealm – Configurado com o valor do realm do seu aplicativo de terceira parte confiável. Para localizar o valor realm, no Portal de Gerenciamento do ACS, clique em Aplicativos de terceira parte confiável, selecione um aplicativo e veja o campo Realm .

Para encontrar os links da página de logon dos seus aplicativos de terceira parte confiável:

  1. Vá para o Portal de Gerenciamento do Microsoft Azure (https://manage.WindowsAzure.com), entre e clique em Active Directory. (Dica de solução de problemas: o item "Active Directory" está ausente ou não está disponível)

  2. Para gerenciar um namespace do Access Control, selecione o namespace e clique em Gerenciar. (Or, clique em Namespaces do Access Control, selecione o namespace e clique em Gerenciar.)

  3. Clique em Integração do aplicativo, clique em Páginas de logon e depois selecione um aplicativo de terceira parte confiável.

    A página Integração da página de logon exibe as opções da página de logon do aplicativo.

A imagem a seguir mostra a página de logon padrão de um aplicativo que dá suporte a Windows Live ID (conta da Microsoft), Google, Yahoo!, Facebook e "Contoso Corp", um provedor de identidade WS-Federation fictício.

ACS 2.0 login pages

Para substituir um botão de provedor de identidade do Web Services Federation por uma caixa de texto de endereço de email, adicione os sufixos de endereço de email aos links da página de logon do seu provedor de identidade do Web Services Federation. Essa abordagem é útil quando há muitos provedores de identidade do Web Services Federation para seu aplicativo de terceira parte confiável. A imagem a seguir exibe uma página de exemplo.

ACS 2.0 login pages

Para agilizar a integração do ACS com seu aplicativo de terceira parte confiável, use a página de logon padrão hospedada pelo ACS. Para personalizar o layout e a aparência da página, salve a página de logon padrão como um arquivo HTML e copie o HTML e o JavaScript para seu aplicativo onde o mesmo pode ser personalizado.

Opção 2: hospedar uma página de logon personalizada como parte do aplicativo

Para habilitar o controle total sobre a aparência, o comportamento e o local da página de logon federado, o ACS fornece um feed de metadados codificados em JSON com os nomes, URLs de logon, imagens e nomes de domínio de email (somente) de seus provedores de identidade. Esse feed é conhecido como Feed de metadados do Home Realm Discovery.

Exemplo de uma página de logon personalizada

Para baixar um exemplo de página de logon HTML para cada um dos seus aplicativos de terceira parte confiável:

  1. Vá para o Portal de Gerenciamento do Microsoft Azure (https://manage.WindowsAzure.com), entre e clique em Active Directory. (Dica de solução de problemas: o item "Active Directory" está ausente ou não está disponível)

  2. Para gerenciar um namespace do Access Control, selecione o namespace e clique em Gerenciar. (Or, clique em Namespaces do Access Control, selecione o namespace e clique em Gerenciar.)

  3. Clique em Integração do aplicativo, clique em Páginas de logon e depois selecione um aplicativo de terceira parte confiável.

  4. Na página de Integração da página de logon, clique em Baixar página de logon de exemplo.

O código HTML de exemplo é idêntico ao código HTML da página de logon hospedada pelo ACS.

Esse exemplo inclui as funções do JavaScript para renderização da página. Uma marcação de scripts na parte inferior da página chama o feed de metadados. As páginas de logon personalizadas podem consumir os metadados usando HTML e JavaScript puros no lado do cliente. O feed também pode ser consumido e usado por qualquer linguagem que suporte a codificação JSON para renderizar um controle de logon personalizado.

Feed de metadados do Home Realm Discovery

Para encontrar as URLs do feed de metadados do Home Realm Discovery para seus aplicativos de terceira parte confiável:

  1. Vá para o Portal de Gerenciamento do Microsoft Azure (https://manage.WindowsAzure.com), entre e clique em Active Directory. (Dica de solução de problemas: o item "Active Directory" está ausente ou não está disponível)

  2. Para gerenciar um namespace do Access Control, selecione o namespace e clique em Gerenciar. (Or, clique em Namespaces do Access Control, selecione o namespace e clique em Gerenciar.)

  3. Clique em Integração do aplicativo, clique em Páginas de logon e depois selecione um aplicativo de terceira parte confiável.

A URL aparece na página Integração de Página de Logon do aplicativo na Opção 2: hospedar a página de logon como parte do aplicativo.

A seguir há um exemplo da URL de feed de metadados do Home Realm Discovery.

https://YourNamespace.accesscontrol.windows.net/v2/metadata/IdentityProviders.js?protocol=wsfederation&realm=YourAppRealm&reply_to=YourAppReturnURL&context=&version=1.0&callback=OptionalFunctionName

Essa URL utiliza os seguintes parâmetros:

  • YourNamespace – Obrigatório. Configure como o nome do seu namespace do Azure.

  • protocolo – Obrigatório. Esse é o protocolo que seu aplicativo de terceira parte confiável usa para se comunicar com o ACS. No ACS, esse valor deve ser definido como wsfederation.

  • realm – Obrigatório. Esse é o realm que você especificou para seu aplicativo de terceira parte confiável no Portal de Gerenciamento do ACS.

  • versão – Obrigatória. No ACS, esse valor deve ser definido como 1.0.

  • reply_to – Opcional. Essa é a URL de retorno especificada para seu aplicativo de terceira parte confiável no Portal de Gerenciamento do ACS. Se omitido, o valor da URL de retorno será definido como o valor padrão configurado para seu aplicativo de terceira parte confiável no Portal de Gerenciamento do ACS.

  • contexto – Opcional. Qualquer contexto adicional que pode ser passado de volta para o aplicativo de terceira parte confiável no token. O ACS não reconhece esses conteúdos.

  • retorno de chamada – Opcional. Você pode configurar esse parâmetro como o nome da função JavaScript que você deseja executar quando o feed JSON for carregado. A cadeia de caracteres do feed JSON é o argumento que é passado para essa função.

Observação

O feed de metadados com a codificação JSON pode estar sujeito a alterações, portanto, recomenda-se que você não o armazene em cache.

Formato de dados do feed JSON

Quando o feed de metadados é solicitado com os parâmetros válidos conforme descrito anteriormente, a resposta é um documento que contém uma matriz de matrizes com a codificação JSON, em que cada matriz interna representa um provedor de identidade com os seguintes campos:

  • Nome – O nome de exibição legível do provedor de identidade.

  • LoginUrl – Uma URL de solicitação de logon construída.

  • LogoutUrl – Essa URL permite aos usuários finais se desconectarem do provedor de identidade ao qual estão conectados. Atualmente, há suporte apenas para e Windows ID dinâmica (conta da Microsoft) e está vazio para outros provedores de identidade.

  • ImageUrl — A imagem a ser exibida, conforme configurado no Portal de Gerenciamento do ACS. Em branco se não houver imagem.

  • EmailAddressSuffixes – Uma matriz de sufixos de endereços de email associados ao provedor de identidade. No ACS, os sufixos de endereço de email só podem ser configurados para provedores de identidade por meio do Portal de Gerenciamento do ACS. Retorna uma matriz vazia se não houver sufixos configurados.

O exemplo a seguir mostra o feed JSON quando Windows Live ID e AD FS 2.0 são configurados para o aplicativo de terceira parte confiável. O usuário definiu uma URL de imagem para Windows ID Dinâmica no Portal de Gerenciamento do ACS e adicionou um sufixo de domínio de email para o provedor de identidade.

Observação

As quebras de linha foram adicionadas para a legibilidade e as URLs foram simplificadas para brevidade.

[ {
   "Name":"Windows Live ID",
   "LoginUrl":" https://...",
   "LogoutUrl":" https://...",
   "ImageUrl":"https://...",
   "EmailAddressSuffixes":[]
},
{
   "Name":"My ADFS 2.0 Provider",
   "LoginUrl":" https://...",
   "LogoutUrl":" https://...",
   "ImageUrl":"",
   "EmailAddressSuffixes":[“contoso.com”]
} ]

Consulte Também

Conceitos

Componentes do ACS 2.0