Configurar o Login with Amazon como um IdP de bancos 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á.

Configurar o Login with Amazon como um IdP de bancos de identidades

Os bancos de identidades do Amazon Cognito trabalham com o Login with Amazon para fornecer autenticação federada aos usuários da aplicação Web e do aplicativo móvel. Esta seção explica como inscrever e configurar a aplicação com o Login with Amazon como provedor de identidade (IdP).

No Portal do desenvolvedor, configure o Login with Amazon para funcionar com o Amazon Cognito. Para obter mais informações, consulte Configuração do Login with Amazon em Perguntas frequentes sobre Login with Amazon.

nota

Para integrar o Login with Amazon a uma aplicação Xamarin, siga o Guia de conceitos básicos do Xamarin.

nota

Você não pode integrar nativamente o Login with Amazon na plataforma Unity. Em vez disso, use uma visualização da Web e siga o fluxo de login do navegador.

Como configurar o Login with Amazon

Implementar o Login with Amazon

No portal do desenvolvedor da Amazon, você pode configurar um OAuth aplicativo para se integrar ao seu grupo de identidades, encontrar a documentação do Login with Amazon e fazer o download SDKs. No Portal do desenvolvedor, escolha Developer console (Console do desenvolvedor) e, em seguida, Login with Amazon. Você pode criar um perfil de segurança e, em seguida, mecanismos de autenticação do Login with Amazon em sua aplicação. Consulte Como obter credenciais para obter mais informações sobre como integrar a autenticação Login with Amazon à sua aplicação.

A Amazon emite um ID de cliente OAuth 2.0 para seu novo perfil de segurança. Você pode encontrar o ID de cliente na guia do perfil de segurança Web Settings (Configurações da Web). Digite o ID do perfil de segurança no campo ID da aplicação do Login com Amazon IdP no banco de identidades.

nota

Digite o ID do perfil de segurança no campo ID da aplicação do Login com Amazon IdP no banco de identidades. Isso difere dos grupos de usuários, que usam ID do cliente.

Configurar o provedor externo no console do Amazon Cognito

Como adicionar um login com o provedor de identidades (IdP) da Amazon
  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 Login with Amazon.

  5. Insira o ID do aplicativo do OAuth projeto que você criou em Login with Amazon. Para ter mais informações, consulte a documentação do Login with Amazon.

  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 Salvar alterações.

Use o Login with Amazon: Android

Depois de autenticar o login da Amazon, você pode passar o token para o provedor de credenciais do Amazon Cognito no método OnSuccess da interface. TokenListener O código é semelhante a:

@Override public void onSuccess(Bundle response) { String token = response.getString(AuthzConstants.BUNDLE_KEY.TOKEN.val); Map<String, String> logins = new HashMap<String, String>(); logins.put("www.amazon.com", token); credentialsProvider.setLogins(logins); }

Use o Login with Amazon: iOS – Objective-C

Depois de autenticar o login da Amazon, você pode passar o token para o provedor de credenciais do Amazon Cognito requestDidSucceed no método de: AMZNAccess TokenDelegate

- (void)requestDidSucceed:(APIResult \*)apiResult { if (apiResult.api == kAPIAuthorizeUser) { [AIMobileLib getAccessTokenForScopes:[NSArray arrayWithObject:@"profile"] withOverrideParams:nil delegate:self]; } else if (apiResult.api == kAPIGetAccessToken) { credentialsProvider.logins = @{ @(AWSCognitoLoginProviderKeyLoginWithAmazon): apiResult.result }; } }}

Use o Login with Amazon: iOS – Swift

Depois de autenticar o login da Amazon, você pode passar o token para o provedor de credenciais do Amazon Cognito no método requestDidSucceed de AMZNAccessTokenDelegate:

func requestDidSucceed(apiResult: APIResult!) { if apiResult.api == API.AuthorizeUser { AIMobileLib.getAccessTokenForScopes(["profile"], withOverrideParams: nil, delegate: self) } else if apiResult.api == API.GetAccessToken { credentialsProvider.logins = [AWSCognitoLoginProviderKey.LoginWithAmazon.rawValue: apiResult.result] } }

Use o Login with Amazon: JavaScript

Depois que o usuário se autentica com o Login with Amazon e é redirecionado de volta para o site, o access_token Login with Amazon é fornecido na string de consulta. Passe esse token para mapear as credenciais de login.

AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: 'IDENTITY_POOL_ID', Logins: { 'www.amazon.com': 'Amazon Access Token' } });