Configurando o Login com a Apple como um IdP do pool de identidades - Amazon Cognito

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurando o Login com a Apple como um IdP do pool de identidades

Os grupos de identidade do Amazon Cognito funcionam com o Sign in with Apple para fornecer autenticação federada para seus usuários de aplicativos móveis e aplicativos web. Esta seção explica como inscrever e configurar a aplicação usando Sign in with Apple como provedor de identidade (IdP).

Para adicionar Sign in with Apple como provedor de autenticação para um grupo de identidades, você deve realizar dois procedimentos. Primeiro, integre o Sign in with Apple a uma aplicação e, em seguida, configure-o nos grupos de identidades. Para up-to-date obter mais informações sobre como configurar o Login com a Apple, consulte Configurando seu ambiente para fazer login com a Apple na documentação do desenvolvedor da Apple.

Configurar o Sign in with Apple

Para configurar Sign in with Apple como IdP, é necessário inscreva sua aplicação na Apple para receber o ID de cliente.

  1. Crie uma conta de desenvolvedor com a Apple.

  2. Faça login com as credenciais da Apple.

  3. No painel de navegação esquerdo, escolha Certificados IDs e perfis.

  4. No painel de navegação à esquerda, escolha Identificadores.

  5. Na página Identifiers (Identificadores), escolha o ícone +.

  6. Na página Registrar um novo identificador, escolha Aplicativo eIDs, em seguida, escolha Continuar.

  7. Na página Register an App ID (Registrar ID de uma aplicação), faça o seguinte:

    1. Em Description (Descrição), digite uma descrição.

    2. Em ID do pacote, digite um identificador. Anote esse ID de pacote, pois você precisará desse valor para configurar a Apple como provedor no grupo de identidades.

    3. Em Capabilities (Recursos), escolha Sign In with Apple (Fazer login com a Apple) e, depois, selecione Edit (Editar).

    4. Na página Sign in with Apple: configuração do ID da aplicação, selecione a configuração adequada para sua aplicação. Em seguida, escolha Salvar.

    5. Escolha Continue (Continuar).

  8. Na página Confirm your App ID (Confirmar ID do seu app), escolha Register (Registrar).

  9. Siga para a etapa 10 se quiser integrar o recurso Fazer login com a Apple a uma aplicação iOS nativa. A etapa 11 é para aplicativos que você deseja integrar ao recurso Fazer login com o Apple JS.

  10. Na página Identificadores, escolha o IDs menu Aplicativo e, em seguida, Serviços IDs. Escolha o ícone +.

  11. Na página Registrar um novo identificador, escolha Serviços eIDs, em seguida, escolha Continuar.

  12. Na página Register a Services ID (Registrar um ID de serviços), faça o seguinte:

    1. Em Description (Descrição), digite uma descrição.

    2. Em Identifier (Identificador), digite um identificador. Anote o ID de serviços, pois você precisará desse valor para configurar a Apple como provedor no grupo de identidades.

    3. Selecione Fazer login com a Apple e escolha Configurar.

    4. Na página Web Authentication Configuration (Configuração de autenticação na web), escolha um Primary App ID (ID de app primário). Em Site URLs, escolha o ícone +. Em Domínios e subdomínios, insira o nome de domínio do seu aplicativo. Em ReturnURLs, insira o callback para o URL qual a autorização redireciona o usuário após a autenticação por meio do Sign in with Apple.

    5. Escolha Próximo.

    6. Escolha Continue (Continuar) e, depois, Register (Registrar).

  13. No painel de navegação à esquerda, selecione Chaves.

  14. Na página Keys (Chaves), escolha o ícone +.

  15. Na página Register a New Key (Registrar uma chave nova), faça o seguinte:

    1. Em Key Name (Nome da chave), digite um nome de chave.

    2. Escolha Sign In with Apple (Fazer login com a Apple) e escolha Configure (Configurar).

    3. Na página Configurar chave, escolha um ID de aplicativo primário e selecione Salvar.

    4. Escolha Continue (Continuar) e, depois, Register (Registrar).

nota

Para integrar o recurso Fazer login com a Apple a um aplicativo iOS nativo, consulte Implementar a autenticação de usuário com o recurso Fazer login com a Apple.

Para integrar o recurso Fazer login com a Apple em uma plataforma diferente do iOS nativo, consulte Fazer login com o Apple JS.

Configurar o provedor externo no console de identidades federadas do Amazon Cognito

Use o procedimento a seguir para configurar seu provedor externo.

Como adicionar um provedor de identidades (IdP) Sign in with Apple
  1. Selecione Bancos de identidades no console do Amazon Cognito. Selecione um banco de identidades.

  2. Selecione a guia Acesso do usuário.

  3. Selecione Adicionar provedor de identidade.

  4. Selecione Sign in with Apple.

  5. Insira o ID de serviços do OAuth projeto que você criou com o Apple Developer. Para ter mais informações, consulte Authenticating users with Sign in with Apple na Documentação do Sign in with Apple.

  6. Para alterar o perfil que o Amazon Cognito solicita ao emitir credenciais para usuários que se autenticaram com esse provedor, defina Configurações de perfil.

    1. Você pode atribuir aos usuários desse IdP o Perfil padrão que você configurou ao definir seu Perfil autenticado ou Escolher perfil com regras.

      1. Se você escolheu Escolher perfil com regras, insira a Declaração de origem da autenticação do usuário, o Operador pelo qual você deseja comparar a declaração, o Valor que gerará uma correspondência com essa opção de perfil e o Perfil que você deseja atribuir quando houver correspondência com a Atribuição de perfil. Selecione Adicionar outra para criar uma regra adicional com base em uma condição diferente.

      2. Selecione uma Resolução de perfil. Quando as declarações do usuário não correspondem às suas regras, você pode negar ou emitir credenciais para seu Perfil autenticado.

  7. Para alterar as tags de identidade principal que o Amazon Cognito atribui ao emitir credenciais para usuários que se autenticaram com esse provedor, configure Atributos para controle de acesso.

    1. Para não aplicar nenhuma tag de entidade principal, selecione Inativo.

    2. Para aplicar tags de entidade principal com base em declarações sub e aud, selecione Usar mapeamentos padrão.

    3. Para criar seu próprio esquema personalizado de atributos para as tags de entidade principal, selecione Usar mapeamentos personalizados. Depois, insira a Chave de tag que você deseja obter de cada declaração e representar em uma tag.

  8. Selecione Save Changes (Salvar alterações).

Faça login com a Apple como provedor nos exemplos de identidades federadas do Amazon Cognito CLI

Esse exemplo cria um grupo de identidades denominado MyIdentityPool com o Sign in with Apple como IdP.

aws cognito-identity create-identity-pool --identity-pool-name MyIdentityPool --supported-login-providers appleid.apple.com="sameple.apple.clientid"

Para obter mais informações, consulte Criar grupo de identidades

Gerar um ID de identidade do Amazon Cognito

Esse exemplo gera (ou recupera) um ID do Amazon Cognito. Isso é públicoAPI, então você não precisa de nenhuma credencial para ligar para issoAPI.

aws cognito-identity get-id --identity-pool-id SampleIdentityPoolId --logins appleid.apple.com="SignInWithAppleIdToken"

Para obter mais informações, consulte get-id.

Obter credenciais para um ID de identidade do Amazon Cognito

Este exemplo retorna credenciais para o ID de identidade fornecido e o recurso Fazer login com a Apple. Isso é públicoAPI, então você não precisa de nenhuma credencial para ligar para issoAPI.

aws cognito-identity get-credentials-for-identity --identity-id SampleIdentityId --logins appleid.apple.com="SignInWithAppleIdToken"

Para obter mais informações, consulte get-credentials-for-identity

Usar o recurso Fazer login com a Apple: Android

A Apple não fornece um SDK que suporte o Sign in with Apple para Android. Em vez disso, é possível usar o fluxo da Web em uma visualização da Web.

Fazer login com a Apple usa um objeto de sessão para rastrear o estado. O Amazon Cognito usa o token de ID desse objeto de sessão para autenticar o usuário, gerar o identificador exclusivo e, se necessário, conceder ao usuário acesso a outros recursos. AWS

@Override public void onSuccess(Bundle response) { String token = response.getString("id_token"); Map<String, String> logins = new HashMap<String, String>(); logins.put("appleid.apple.com", token); credentialsProvider.setLogins(logins); }

Usar o recurso Fazer login com a Apple: iOS – Objective-C

A Apple forneceu SDK suporte para o Sign in with Apple em aplicativos iOS nativos. Para implementar a autenticação de usuário com o recurso Fazer login com a Apple em dispositivos nativos do iOS, siga Implementing User Authentication with Sign in with Apple na documentação da Apple.

O Amazon Cognito usa o token de ID para autenticar o usuário, gerar o identificador exclusivo e, se necessário, conceder ao usuário acesso a outros recursos. AWS

(void)finishedWithAuth: (ASAuthorizationAppleIDCredential *)auth error: (NSError *) error { NSString *idToken = [ASAuthorizationAppleIDCredential objectForKey:@"identityToken"]; credentialsProvider.logins = @{ "appleid.apple.com": idToken }; }

Usar o recurso Fazer login com a Apple: iOS – Swift

A Apple forneceu SDK suporte para o Sign in with Apple em aplicativos iOS nativos. Para implementar a autenticação de usuário com o recurso Fazer login com a Apple em dispositivos nativos do iOS, siga Implementing User Authentication with Sign in with Apple na documentação da Apple.

O Amazon Cognito usa o token de ID para autenticar o usuário, gerar o identificador exclusivo e, se necessário, conceder ao usuário acesso a outros recursos. AWS

Para obter mais informações sobre como configurar o Sign in with Apple no iOS, consulte Sign in with Apple.

func finishedWithAuth(auth: ASAuthorizationAppleIDCredential!, error: NSError!) { if error != nil { print(error.localizedDescription) } else { let idToken = auth.identityToken, credentialsProvider.logins = ["appleid.apple.com": idToken!] } }

Use o Login com a Apple: JavaScript

A Apple não fornece um SDK que suporte o recurso Sign in with Apple for JavaScript. Em vez disso, é possível usar o fluxo da Web em uma visualização da Web.

Fazer login com a Apple usa um objeto de sessão para rastrear o estado. O Amazon Cognito usa o token de ID desse objeto de sessão para autenticar o usuário, gerar o identificador exclusivo e, se necessário, conceder ao usuário acesso a outros recursos. AWS

function signinCallback(authResult) { // Add the apple's id token to the Amazon Cognito credentials login map. AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: 'IDENTITY_POOL_ID', Logins: { 'appleid.apple.com': authResult['id_token'] } }); // Obtain AWS credentials AWS.config.credentials.get(function(){ // Access AWS resources here. }); }

Usar o recurso Fazer login com a Apple: Xamarin

Não temos um SDK que suporte o Sign in with Apple for Xamarin. Em vez disso, é possível usar o fluxo da Web em uma visualização da Web.

Fazer login com a Apple usa um objeto de sessão para rastrear o estado. O Amazon Cognito usa o token de ID desse objeto de sessão para autenticar o usuário, gerar o identificador exclusivo e, se necessário, conceder ao usuário acesso a outros recursos. AWS

Depois que tiver o token, você poderá configurá-lo em CognitoAWSCredentials:

credentials.AddLogin("appleid.apple.com", token);