Migrando namespaces do ACS para o Google OpenID Connect
Este tópico é para proprietários de namespaces do ACS (Serviço de Controle de Acesso) 2.0 que atualmente usam o Google como um provedor de identidade. O ACS fornece essa funcionalidade usando a implementação do OpenID 2.0 do Google. O Google planeja descontinuar o suporte ao OpenID 2.0 até 20 de abril de 2015. Os namespaces do ACS continuarão a funcionar com a implementação do OpenID 2.0 do Google até 1º de junho de 2015, quando você deve concluir a migração desses namespaces para usar a implementação do OpenID Connect do Google ou os usuários não poderão mais entrar em seu aplicativo com uma conta do Google. Migrar os namespaces do ACS para o OpenID Connect não causará tempo de inatividade do aplicativo. Com uma exceção (veja a observação abaixo), essa migração é possível sem alterar o código do aplicativo. Depois de migrar os namespaces do ACS para usar o OpenID Connect, você precisará migrar os identificadores dos usuários no back-end para identificadores do OpenID Connect. Essa migração deve ser concluída até 1º de janeiro de 2017. Ele exigirá alterações de código em seu back-end. Confira a observação importante abaixo para obter detalhes sobre ambas as fases da migração.
Importante
Observe as seguintes datas importantes e conclua as ações necessárias para cada data para garantir que os namespaces do ACS que usam o Google como provedor de identidade continuem funcionando:
-
1º de junho de 2015 - os namespaces ACS deixarão de funcionar com a implementação do OpenID 2.0 do Google. Você deve concluir a migração de namespace do ACS para usar o Google OpenID Connect até esta data. Antes dessa data, você poderá reverter para o OpenID 2.0 se encontrar problemas durante a migração. Para namespaces que não foram migrados até esta data, os usuários não poderão mais entrar com uma conta do Google e serão apresentados com uma página que indica que o OpenID 2.0 para contas do Google desapareceu. Para restaurar a funcionalidade de entrada com contas do Google, você precisará migrar o namespace.
Na maioria dos casos, nenhuma alteração de código do aplicativo deve ser necessária. Se você tiver a regra "passagem de todas as declarações" para o Google como um provedor de identidade em um grupo de regras associado ao seu aplicativo, talvez seja necessário fazer alterações de código. Isso ocorre porque, após a migração, um novo tipo de declaração (Subject) fica disponível para o ACS do Google e talvez seja necessário fazer alterações de código para garantir que seu aplicativo possa lidar com a presença do novo tipo de declaração normalmente. Para concluir a migração com êxito, não será necessário processar o novo tipo de declaração em seu aplicativo.
-
1º de janeiro de 2017 – as implementações OpenID 2.0 e OpenID Connect do Google usam identificadores diferentes para identificar exclusivamente os usuários do Google. Quando você migra o namespace do ACS, o ACS disponibiliza dois identificadores, o identificador OpenID 2.0 atual e o novo identificador do OpenID Connect, disponíveis para seu aplicativo. Você deve alternar os identificadores dos usuários em seu sistema de back-end para identificadores do OpenID Connect até esta data e começar a usar apenas identificadores do OpenID Connect daqui para frente. Isso requer alterações no código do aplicativo.
Você pode postar perguntas sobre migração no stack overflow e marcá-las com 'acs-google'. Responderemos o mais rápido possível.
Para obter mais informações sobre os planos do Google, consulte o guia de migração do OpenID 2.0.
Lista de verificação de migração
A tabela a seguir contém uma lista de verificação que resume as etapas necessárias para migrar o namespace do ACS para usar a implementação do OpenID Connect do Google:
Passo | Descrição | Deve ser concluído por |
---|---|---|
1 |
Crie um aplicativo Google+ no do Console de Desenvolvedores do Google. |
1º de junho de 2015 |
2 |
Se você tiver a regra "passagem de todas as declarações" para o Google como um provedor de identidade em um grupo de regras associado ao seu aplicativo, teste seu aplicativo para garantir que ele esteja pronto para migração; caso contrário, essa etapa é opcional. |
1º de junho de 2015 |
3 |
Use o do Portal de Gerenciamento do ACS para alternar o namespace do ACS para usar a implementação do OpenID Connect do Google fornecendo-o com os parâmetros do aplicativo Google+ (ID do cliente e segredo do cliente). Se você encontrar problemas com a migração, a reversão para o OpenID 2.0 será possível até 1º de junho de 2015. |
1º de junho de 2015 |
4 |
Migre os identificadores dos usuários em seu sistema de back-end dos atuais identificadores do Google OpenID 2.0 para os novos identificadores do Google OpenID Connect. Isso requer alterações de código. |
1º de janeiro de 2017 |
Passo a passo da migração
Para migrar o namespace do ACS para usar a implementação do OpenID Connect do Google, conclua as seguintes etapas:
criar um aplicativo do Google+
Para obter instruções detalhadas sobre como fazer isso, consulte a seção Como criar um aplicativo do Google+.
Verifique se o aplicativo está pronto para migração
Se você tiver a regra "passthrough all claims" para o Google como um provedor de identidade em um grupo de regras associado ao seu aplicativo, siga as instruções na seção Como: Garantir a preparação de migração de um aplicativo ACS para testar seu aplicativo para preparação para a migração. Isso ocorre porque, após a migração, um novo tipo de declaração (Subject) fica disponível para o ACS do Google.
Nota
Uma regra "
passagem de todas as declarações " é uma regra em quede tipo de declaração de entrada e valor de declaração de entrada são definidos comoQualquer etipo de declaração de saída e de valor de declaração de saídasão definidos como Passar pela primeira de tipo de declaração de entrada epassar por de valor de declaração de entrada, respectivamente. A regra está listada no do Portal de Gerenciamento do ACS, conforme mostrado abaixo, com a coluna de Declaração de Saída definida como de Passagem. Se você já gerou regras ou adicionou regras manualmente para o Google como um provedor de identidade em um grupo de regras associado ao seu aplicativo, ignore esta etapa. Isso ocorre porque, nesses casos, após a migração, o novo tipo de declaração Assunto não é enviado ao aplicativo.
Para saber mais sobre essas opções, consulte Grupos de Regras e Regras.
Alterne o namespace do ACS para usar a implementação do OpenID Connect do Google
Acesse odo Portal de Gerenciamento do Microsoft Azure
, entre e clique em do Active Directory. Selecione o namespace do ACS que precisa ser migrado e clique em Gerenciar para iniciar odo Portal de Gerenciamento do ACS. No
do Portal de Gerenciamento do ACS, clique em provedores de identidade na árvore no lado esquerdo ou clique no link provedores de identidadena seção de Introdução . Clique Google. Caixa de diálogo
Na página Editar provedor de identidade do Google, verifique usar o OpenID Connect.
caixa de diálogo Editar Provedor de Identidade do Google
No de ID do Cliente e campos de de segredo do cliente (agora habilitado), copie os valores correspondentes do aplicativo Google+.
caixa de diálogo Editar Provedor de Identidade do Google
Nota
Neste ponto, se você clicar em Salvar, todas as solicitações do provedor de identidade do Google do namespace ACS usarão automaticamente a implementação do OpenID Connect do Google. Se você precisar reverter, poderá desmarcar Usar o OpenID Connect. A ID do cliente e o segredo do cliente permanecem salvos e podem ser usados novamente mais tarde.
Clique em Salvar.
Tente entrar com uma ID do Google para garantir que a opção para usar o OpenID Connect tenha sido bem-sucedida. Se você tiver problemas para entrar, volte para a página Editar Provedor de Identidade do Google e cancele a verificação use o OpenID Connect para reverter para o OpenID 2.0. Depois de reverter, verifique se a ID do cliente
e secreta que você copiou do do Console de Desenvolvedor do Google são inseridas corretamente para seu namespace; por exemplo, verifique se há erros de digitação.
Migrar os identificadores dos usuários em seu sistema de back-end da ID Aberta 2.0 para o OpenID Connect
Você deve migrar os identificadores dos usuários em seu sistema de back-end dos identificadores existentes do Google Open ID 2.0 para os novos identificadores do Google OpenID Connect antes de 1º de janeiro de 2017. Esta etapa requer alterações de código. Para obter mais informações, consulte Como migrar os identificadores do Open ID 2.0 existentes de seus usuários para novos identificadores de usuário do OpenID Connect
Como criar um aplicativo do Google+
Você precisará de uma conta do Google para executar as etapas a seguir; se você não tem um, você pode obter um em https://accounts.google.com/SignUp.
Em uma janela do navegador, navegue até a o Console de Desenvolvedores do Google e entre com suas credenciais de conta do Google.
Clique em
Criar do Projeto e insira um de nome do projetoe id do projeto . Marque a caixa de seleção Termos de Serviço. Em seguida, clique em Criar. Isso registra o aplicativo no Google.Clique APIs & de autenticação no painel esquerdo. Em seguida, clique em Credenciais. Em OAuth, clique em Criarde ID do Cliente. Selecione aplicativo Web e clique em Configurarde tela de consentimento. Forneça um de Nome do Produto
e clique em Salvar .de Consentimento do Desenvolvedor do Google
Clique APIs & de autenticação no painel esquerdo. Em seguida, clique em APIs. Em Procurar APIs, pesquise e localize de API do Google+. Ative o de Status do
para ON .Na caixa de diálogo Criar ID do Cliente, selecione de Aplicativo Web como o tipo de aplicativo .
No campo origens javascript autorizadas, especifique a URL do nome de domínio totalmente qualificado (FQDN) do namespace, incluindo o "HTTPS://" à esquerda e o número da porta à direita; por exemplo, https://contoso.accesscontrol.windows.net:443.
No campo URIs de Redirecionamento Autorizado campo, especifique um URI que contenha a URL de nome de domínio totalmente qualificado (FQDN) do seu namespace, incluindo o "HTTPS://" à esquerda e o número da porta à direita, seguido por "/v2/openid"; por exemplo, https://contoso.accesscontrol.windows.net:443/v2/openid.
Clique em Criarde ID do Cliente.
Anote os valores de de ID do cliente e de segredo do cliente na página ID do cliente do aplicativo Web. Você precisará deles para configurar a implementação do OpenID Connect do Google no do Portal de Gerenciamento do ACS.
Importante
do Segredo do Cliente é uma credencial de segurança importante. Mantenha em segredo.
Como migrar os identificadores do Open ID 2.0 existentes dos usuários para novos identificadores de usuário do OpenID Connect
Depois de migrar com êxito o namespace do ACS para usar a implementação do OpenID Connect do Google, você tem até 1º de janeiro de 2017 (de acordo com o Guia de Migração do OpenID 2.0do Google
A tabela a seguir mostra os tipos de declaração que ficam disponíveis para o ACS do Google depois que o namespace ACS é migrado para usar a implementação do OpenID Connect do Google:
Tipo de declaração | URI | Descrição | Disponibilidade do protocolo |
---|---|---|---|
Identificador de nome |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
Um identificador exclusivo para a conta de usuário, fornecido pelo Google. Esse é o identificador OpenID 2.0 (existente). |
OpenID 2.0, OpenID Connect |
Assunto |
https://schemas.microsoft.com/identity/claims/subject |
Um identificador exclusivo para a conta de usuário, fornecido pelo Google. Esse é o (novo) identificador do OpenID Connect. |
OpenID Connect |
Nome |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name |
O nome de exibição da conta de usuário, fornecido pelo Google. |
OpenID 2.0, OpenID Connect (veja a observação abaixo) |
Endereço eletrônico |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
O endereço de email da conta de usuário, fornecido pelo Google |
OpenID 2.0, OpenID Connect |
Provedor de Identidade |
https://schemas.microsoft.com/accesscontrolservice/2010/07/claims/IdentityProvider |
Uma declaração fornecida pelo ACS que informa ao aplicativo de terceira parte confiável que o usuário autenticou usando o provedor de identidade padrão do Google. O valor dessa declaração é visível no Portal de Gerenciamento do ACS por meio do campo Realm na página Editar Provedor de Identidade. |
OpenID 2.0, OpenID Connect |
Nota
Para um usuário do Google que não tem um perfil do Google+ (registrado), o valor do tipo de declaração Name é o mesmo que o valor do endereço de email tipo de declaração no OpenID Connect.
Os tipos de declaração
Se você tiver a regra "passagem de todas as declarações" para o Google como um provedor de identidade em um grupo de regras associado ao aplicativo, seu aplicativo começará automaticamente a receber o tipo de declaração Assunto.
Se você já tiver gerado regras ou adicionado regras manualmente para o Google como um provedor de identidade em um grupo de regras associado ao seu aplicativo, será necessário adicionar o tipo de declaração Assunto manualmente. Para obter mais informações sobre como fazer isso, consulte grupos de regras e regras.
de configuração de declaração de entrada
Por exemplo, se você já tiver gerado regras para o Google como um provedor de identidade em um grupo de regras e, em seguida, adicionar o novo tipo de declaração Assunto (conforme mostrado acima), você verá o seguinte.
O aplicativo que usa esse grupo de regras receberá o tipo de declaração Assunto, juntamente com outros tipos de declaração.
Nota
Após 1º de janeiro de 2017, quando o Google descontinuar seu suporte para mapeamento de identificador, o ACS preencherá os tipos de declaração NameIdentifier e Subject com o mesmo identificador de usuário do OpenID Connect.
Como garantir a preparação de migração de um aplicativo ACS
Com uma exceção, a migração do namespace do ACS para usar a implementação do OpenID Connect do Google é possível sem alterar o código do aplicativo. O caso de exceção é se você tiver a regra "passthrough all claims" para o Google como um provedor de identidade em um grupo de regras associado ao seu aplicativo. Isso ocorre porque, nesse caso, após a migração, um novo tipo de declaração (Subject) é enviado automaticamente para o aplicativo.
Esta seção descreve o procedimento de teste e alteração recomendado que você pode seguir para garantir que todos os aplicativos que serão afetados pela migração estejam prontos para lidar com o novo tipo de declaração.
Para fins deste How To, suponha que você seja o proprietário de um namespace do ACS chamado ns-contoso e que seu aplicativo em produção seja chamado ProdContosoApp. Suponha também que este aplicativo use o Google como um provedor de identidade e tenha "passagem de todas as declarações" regra habilitada para o Google.
Configuração
Para começar, acesse o do Portal de Gerenciamento do Microsoft Azure, entre e clique em do Active Directory. Selecione o namespace do ACS (
ns-contoso ) e clique emGerenciar para iniciar odo Portal de Gerenciamento do ACS. No
do Portal de Gerenciamento do ACS, clique em Aplicativos de Terceira Parte Confiável na árvore no lado esquerdo ou clique no link Aplicativos de Terceira Parte Confiávelna seção de Introdução . Em seguida, clique em seu aplicativo de produção (ProdContosoApp). Anote as propriedades de ProdContosoApp, você precisará delas mais tarde.
de aplicativo de terceira parte confiável
Clique em Grupo de Regras Padrão para ProdContosoApp em grupos de regras para verificar se ele tem a regra "passagem de todas as declarações" habilitada para o Google.
Etapa 1: Configurar uma instância de teste do aplicativo no namespace acs de produção
Configurar uma instância de teste do seu aplicativo, TestContosoApp, em um URI raiz diferente; por exemplo, https://contoso-test.com:7777/. Você precisará registrá-lo como um aplicativo de terceira parte confiável (aplicativos de terceira parte confiável) no namespace ns-contoso.
No
do Portal de Gerenciamento do ACS, clique em Aplicativos de Terceira Parte Confiável na árvore no lado esquerdo ou clique no link Aplicativos de Terceira Parte Confiávelna seção de Introdução . Em seguida, clique em Adicionar na página aplicativos de terceira parte confiável. Na página Adicionar Aplicativo de Terceira Parte Confiável, faça o seguinte:
No Name, digite o nome do aplicativo de teste. Aqui está TestContosoApp.
No modo , selecione Inserir configurações manualmente.
No Realm, digite o URI do aplicativo de teste. Aqui está https://contoso-test.com:7777/.
Para fins deste Como fazer, você pode deixar URL de Erro (opcional) em branco.
Para as propriedades dede formato de token
, de política de criptografia de token e de tempo de vida do token (ss) e a seção configurações de assinatura de token de , use os mesmos valores usados para prodContosoApp .Verifique se você selecionou o Google como um provedor de identidade .
Em grupos de regras, selecione Criar novo grupo de regras.
Clique em Salvar na parte inferior da página.
Etapa 2: Criar um Grupo de Regras que simula o formato do token ACS que o aplicativo receberá depois que o namespace for migrado para usar a implementação do OpenID Connect do Google
No
do Portal de Gerenciamento do ACS, clique em Grupos de Regras na árvore no lado esquerdo ou clique no link grupo de regras dona seção de Introdução . Em seguida, clique em Adicionar na página grupos de regras. Na página Adicionar Grupo de Regras, forneça um nome para o novo grupo de regras, digamos ManualGoogleRuleGroup. Clique em Salvar.
Na página Editar Grupo de Regras, clique no link Adicionar.
caixa de diálogo Editar Grupo de Regras
Na página Adicionar Regra de Declaração, verifique se você tem os seguintes valores em vigor e clique em Salvar. Isso gera uma regra "passagem de todas as declarações" para o Google.
se seção:
do Provedor de Identidade está Google.
o tipo de declaração de entrada seleção é Qualquer.
de valor de declaração de entrada é Qualquer.
seção Then:
Tipo de declaração de saída é Passar pelo primeiro tipo de declaração.
O valor da declaração de saída é Passar pelo primeiro valor de declaração de entrada.
seção de informações da regra de
: - Deixe a descrição do (opcional) campo em branco.
Na página Editar Grupo de Regras, clique no link Adicionar novamente.
Na página Adicionar Regra de Declaração, verifique se você tem os seguintes valores em vigor e clique em Salvar. Isso gera uma regra de declaração "estática" para o Google que simula a adição de um novo tipo de declaração, Subject, que é o novo identificador openid connect do usuário que o Google envia ao aplicativo após a migração.
se seção:
do Provedor de Identidade está Google.
o tipo de declaração de entrada seleção é Qualquer.
de valor de declaração de entrada é Qualquer.
seção Then:
Tipo de declaração de saída é Enter type. No campo, digite https://schemas.microsoft.com/identity/claims/subject.
O valor da declaração de saída é Enter value. No campo, digite 123456.
seção de informações da regra de
: - Deixe a descrição do (opcional) campo em branco.
Clique em Salvar na página Editar Grupo de Regras.
Etapa 3: Associar o novo Grupo de Regras à instância de teste do aplicativo
No
do Portal de Gerenciamento do ACS, clique em Aplicativos de Terceira Parte Confiável na árvore no lado esquerdo ou clique no link Aplicativos de Terceira Parte Confiávelna seção de Introdução . Em seguida, clique TestContosoApp na página aplicativos de terceira parte confiável . Na página Editar Terceira Parte Confiável
, selecione ManualGoogleRuleGroup na seção configurações de autenticação de e clique em Salvar .Configurações de autenticação
configurações de autenticação
Neste ponto, todas as solicitações de entrada do Google para seus aplicativos de teste incluirão o novo tipo de declaração.
Etapa 4: Testar para garantir que seu aplicativo possa lidar com a adição do tipo de declaração assunto
Teste seu aplicativo para garantir que ele possa lidar com a presença do novo tipo de declaração (Subject) normalmente. Normalmente, um aplicativo bem escrito deve ser robusto para novos tipos de declaração que estão sendo adicionados ao token. Localize e corrija os problemas. Opcionalmente, você também pode seguir a seção Como migrar os identificadores open ID 2.0 existentes de seus usuários para a nova seção de identificadores de usuário do OpenID Connect para fazer o mapeamento do identificador de usuário.
Etapa 5: Migrar seu ambiente de produção
Compilar novamente e implantar seu aplicativo de produção (ProdContosoApp). Migre o namespace (ns-contoso) para usar a implementação do OpenID Connect do Google seguindo as etapas no passo a passo da Migração. Verifique se ProdContosoApp funciona conforme o esperado.