

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
<a name="amazon"></a>

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](https://developer.amazon.com/login-with-amazon), configure o Login with Amazon para funcionar com o Amazon Cognito. Para obter mais informações, consulte [Configuração do Login with Amazon](https://developer.amazon.com/docs/login-with-amazon/faq.html#setting-up-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](https://developer.xamarin.com/guides/cross-platform/getting_started/).

**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
<a name="login-with-amazon-setup"></a>

**Implementar o Login with Amazon **

No [portal do desenvolvedor da Amazon](https://developer.amazon.com/apps-and-games/login-with-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](getting-credentials.md) 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
<a name="login-with-amazon-configure-provider"></a>

**Como adicionar um login com o provedor de identidades (IdP) da Amazon**

1. Selecione **Bancos de identidades** no [console do Amazon Cognito](https://console.aws.amazon.com/cognito/home). Selecione um banco de identidades.

1. Selecione a guia **Acesso do usuário**.

1. Selecione **Adicionar provedor de identidade**.

1. Selecione **Login with Amazon**.

1. Insira o **ID do aplicativo** do OAuth projeto que você criou em [Login with Amazon](https://developer.amazon.com/apps-and-games/login-with-amazon). Para ter mais informações, consulte a [documentação do Login with Amazon](https://developer.amazon.com/docs/login-with-amazon/documentation-overview.html).

1. 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 deseja comparar a declaração, o **Valor** que gerará uma correspondência com essa opção de perfil e o **Perfil** que deseja atribuir quando houver correspondência com a **Atribuição de função**. Selecione **Adicionar outra** para criar uma regra adicional com base em uma condição diferente.

     1. 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**.

1. 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**.

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

   1. 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.

1. Selecione **Salvar alterações**.

## Use o Login with Amazon: Android
<a name="set-up-amazon-1.android"></a>

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
<a name="set-up-amazon-1.ios-objc"></a>

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
<a name="set-up-amazon-1.ios-swift"></a>

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
<a name="set-up-amazon-1.javascript"></a>

Depois que o usuário se autentica com o Login with Amazon e é redirecionado de volta para o site, o access\$1token 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'
   }
});
```