

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

# Provedor `login` no SDK para PHP
<a name="login-provider"></a>

`Aws\Credentials\CredentialProvider::login`tenta carregar credenciais configuradas por uma sessão de login baseada em navegador facilitada por ferramentas como a CLI. AWS Após a autenticação, AWS gera credenciais temporárias que funcionam em todas as ferramentas AWS SDKs e locais.

Com esse processo, você pode se autenticar usando credenciais raiz criadas durante a configuração inicial da conta, um usuário do IAM ou uma identidade federada do seu provedor de identidade, e o SDK para AWS PHP gerencia automaticamente as credenciais temporárias para você. Essa abordagem aprimora a segurança ao eliminar a necessidade de armazenar credenciais de longo prazo localmente.

Ao executar o comando `aws login`, você pode selecionar entre suas sessões ativas do console ou fazer login por meio do fluxo de autenticação baseado em navegador para que sejam geradas credenciais temporárias automaticamente. O AWS SDK for PHP atualizará automaticamente essas credenciais, usando o serviço de login, por até 12 horas.

O provedor de login tenta carregar o token de acesso gerado pelo fluxo de trabalho da sessão de login mencionado anteriormente, com base no perfil fornecido. Se nenhum perfil for fornecido ao chamar o provedor, ele tentará resolver um perfil verificando primeiro a variável de `AWS_PROFILE` ambiente, antes de retornar ao perfil`default`. A configuração do código de entrada pode ser passada para o provedor, onde ele procurará um `region` valor para o cliente do serviço de login usado para atualizar as credenciais. Se nenhuma região for fornecida na matriz de configuração, o provedor tentará resolver uma região verificando a variável de `AWS_REGION` ambiente e, em seguida, um valor de região definido no perfil resolvido. Se nenhuma região for encontrada, o provedor retornará uma promessa rejeitada com instruções sobre como configurar uma região.

O provedor é chamado como parte da cadeia padrão e pode ser chamado diretamente.

```
use Aws\Credentials\CredentialProvider;
use Aws\S3\S3Client;

$provider = CredentialProvider::login(<profile_name>, ['region' => <region>]);
// Cache the results in a memoize function to avoid loading and parsing
// the ini file on every API operation
$provider = CredentialProvider::memoize($provider);

$client = new S3Client([
    'region' => 'us-west-2',
    'credentials' => $provider
]);
```

Por padrão, se nenhuma configuração de credenciais for fornecida no cliente de serviço que você deseja usar, esse provedor será chamado como parte da cadeia de `defaultProvider()` credenciais. Nesse cenário, a região do cliente do serviço é automaticamente passada para o `login()` provedor. Também nesse cenário, o valor do perfil passado para o provedor de login será resolvido verificando a variável de `AWS_PROFILE` ambiente, antes de retornar ao perfil`default`.