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á.
Como obter credenciais
Você pode usar o Amazon Cognito para fornecer credenciais temporárias com privilégios limitados ao seu aplicativo, para que seus usuários possam acessar os recursos. AWS Esta seção descreve como obter credenciais e como recuperar uma identidade do Amazon Cognito de um grupo de identidades.
O Amazon Cognito é compatível com identidades autenticadas e não autenticadas. Usuários não autenticados não têm a identidade verificada, tornando essa função apropriada para usuários convidados de seu aplicativo ou nos casos em que não importa se os usuários têm suas identidades verificadas. Os usuários autenticados fazem login na aplicação por meio de um provedor de identidades de terceiros ou de um grupo de usuários, que verifica as identidades. Certifique-se de definir o escopo das permissões dos recursos de forma apropriada para que você não conceda acesso a eles a partir de usuários não autenticados.
As identidades do Amazon Cognito não são credenciais. Eles são trocados por credenciais usando o suporte à federação de identidade da web no AWS Security Token Service ()AWS STS. Para obter AWS credenciais para os usuários do seu aplicativo, use o provedor de credenciais do grupo de identidade Cognito do AWS SDK. Por exemplo, no AWS SDK para JavaScript (v3), use a fromCognitoIdentityPool função do @aws-sdk/credential-providers pacote. A identidade é então trocada por credenciais usando. AWS STS
Os provedores de credenciais de identidade da web fazem parte da cadeia de provedores de credenciais padrão nos AWS SDKs. Para definir seu token do grupo de identidades em um config arquivo local para um AWS
SDK ou para o AWS CLI, adicione uma entrada web_identity_token_file de perfil. Consulte Assumir a função de provedor de credenciais no Guia de referência de AWS SDKs e ferramentas.
Para saber mais sobre como preencher credenciais de identidade da web em seu SDK, consulte o guia do desenvolvedor do SDK. Para obter melhores resultados, inicie seu projeto com a integração do pool de identidades incorporada ao AWS Amplify.
AWS Recursos do SDK para obter e definir credenciais com grupos de identidades
-
Federação de bancos de identidades
(Android) no Amplify Dev Center -
Federação de bancos de identidades
(iOS) no Amplify Dev Center -
Usando o Amazon Cognito Identity para autenticar usuários no Guia do desenvolvedor AWS SDK para JavaScript
-
Provedor de credenciais do Amazon Cognito no Guia do desenvolvedor AWS SDK para .NET
-
Especifique as credenciais programaticamente no Guia do desenvolvedor AWS SDK para Go
-
Forneça credenciais temporárias em código no Guia do AWS SDK for Java 2.x desenvolvedor
-
assuma o RoleWithWebIdentityCredentialProvider provedor no Guia do AWS SDK para PHP desenvolvedor
-
Assumir o perfil de provedor de identidades na web
na documentação do AWS SDK para Python (Boto3) -
Especificando suas credenciais e a região padrão no Guia do desenvolvedor AWS SDK para Rust
As seções a seguir fornecem exemplos de código em alguns AWS SDKs legados.
Você pode usar o Amazon Cognito para fornecer credenciais temporárias com privilégios limitados ao seu aplicativo, para que seus usuários possam acessar os recursos. AWS O Amazon Cognito é compatível com identidades autenticadas e não autenticadas. Para fornecer AWS credenciais ao seu aplicativo, siga estas etapas.
Para usar um pool de identidade do Amazon Cognito em um aplicativo Android, configure. AWS Amplify Para ter mais informações, consulte Autenticação
Como recuperar uma identidade do Amazon Cognito
Se você permite usuários não autenticados, pode recuperar um identificador exclusivo (ID de identidade) do Amazon Cognito para o usuário final imediatamente. Se você está autenticando usuários, pode recuperar o ID de identidade depois de configurar os tokens de login no provedor de credenciais:
String identityId = credentialsProvider.getIdentityId(); Log.d("LogTag", "my ID is " + identityId);
Não chame getIdentityId(), refresh() ou getCredentials() no thread principal do aplicativo. A partir do Android 3.0 (API de nível 11), seu aplicativo falhará automaticamente e lançará um, NetworkOnMainThreadExceptionAsyncTask. Para obter mais informações, consulte a documentação do AndroidgetCachedIdentityId() para recuperar um ID, mas somente se já existe algum em cache localmente. Caso contrário, o método retornará null.
Você pode usar o Amazon Cognito para fornecer credenciais temporárias com privilégios limitados ao seu aplicativo, para que seus usuários possam acessar os recursos. AWS Os bancos de identidades do Amazon Cognito oferecem suporte a identidades autenticadas e não autenticadas. Para fornecer AWS credenciais ao seu aplicativo, conclua as etapas a seguir.
Para usar um pool de identidade do Amazon Cognito em um aplicativo iOS, configure. AWS Amplify Para ter mais informações, consulte Autenticação do Swift
Como recuperar uma identidade do Amazon Cognito
É possível recuperar um identificador exclusivo (ID de identidade) do Amazon Cognito para o usuário final imediatamente se você estiver permitindo usuários não autenticados ou depois de configurar os tokens de login no provedor de credenciais se estiver autenticando usuários:
// Retrieve your Amazon Cognito ID [[credentialsProvider getIdentityId] continueWithBlock:^id(AWSTask *task) { if (task.error) { NSLog(@"Error: %@", task.error); } else { // the task result will contain the identity id NSString *cognitoId = task.result; } return nil; }];
getIdentityId é uma chamada assíncrona. Se um ID de identidade já estiver configurado no provedor, você pode chamar credentialsProvider.identityId para recuperar essa identidade, que é armazenada em cache localmente. No entanto, se um ID de identidade não estiver definido no seu provedor, a chamada será credentialsProvider.identityId retornadanil. Para obter mais informações, consulte a Referência do Amplify iOS SDK
Você pode usar o Amazon Cognito para fornecer credenciais temporárias com privilégios limitados ao seu aplicativo para que seus usuários possam acessar os recursos. AWS O Amazon Cognito é compatível com identidades autenticadas e não autenticadas. Para fornecer AWS credenciais ao seu aplicativo, siga estas etapas.
Para usar um pool de identidade do Amazon Cognito em um aplicativo iOS, configure. AWS Amplify Para ter mais informações, consulte Autenticação do Swift
Como recuperar uma identidade do Amazon Cognito
É possível recuperar um identificador exclusivo (ID de identidade) do Amazon Cognito para o usuário final imediatamente se você estiver permitindo usuários não autenticados ou depois de configurar os tokens de login no provedor de credenciais se estiver autenticando usuários:
// Retrieve your Amazon Cognito ID credentialsProvider.getIdentityId().continueWith(block: { (task) -> AnyObject? in if (task.error != nil) { print("Error: " + task.error!.localizedDescription) } else { // the task result will contain the identity id let cognitoId = task.result! print("Cognito id: \(cognitoId)") } return task; })
getIdentityId é uma chamada assíncrona. Se um ID de identidade já estiver configurado no provedor, você pode chamar credentialsProvider.identityId para recuperar essa identidade, que é armazenada em cache localmente. No entanto, se um ID de identidade não estiver definido no seu provedor, a chamada será credentialsProvider.identityId retornadanil. Para obter mais informações, consulte a Referência do Amplify iOS SDK
Se você ainda não tiver criado, crie um grupo de identidades no console do Amazon CognitofromCognitoIdentityPool.
Depois de configurar um grupo de identidades com seus provedores de identidade, você pode usar a fromCognitoIdentityPool função do @aws-sdk/credential-providers pacote para autenticar usuários. Em vez de definir um globalAWS.config.credentials, anexe o provedor de credenciais diretamente a cada cliente de serviço por meio de sua credentials propriedade. O SDK v3 resolve o provedor preguiçosamente na primeira vez que o cliente faz uma solicitação, portanto, não há nenhuma chamada separada para obter as credenciais. O exemplo a seguir conecta o provedor a umS3Client:
import { S3Client } from "@aws-sdk/client-s3"; import { fromCognitoIdentityPool } from "@aws-sdk/credential-providers"; // Set the region where your identity pool exists (for example, us-east-1 or eu-west-1) const region = "REGION"; // Attach the credentials provider to your service client const client = new S3Client({ region, credentials: fromCognitoIdentityPool({ identityPoolId: "IDENTITY_POOL_ID", logins: { // optional tokens, used for authenticated login "graph.facebook.com": "FBTOKEN", "www.amazon.com": "AMAZONTOKEN", "accounts.google.com": "GOOGLETOKEN", "appleid.apple.com": "APPLETOKEN" }, clientConfig: { region }, }), }); // Credentials are resolved lazily when the client first makes a request. // To inspect them directly, call the provider and await the result // (from inside an async function): const credentials = await client.config.credentials(); const { accessKeyId, secretAccessKey, sessionToken } = credentials;
A propriedade opcional logins é um mapa de nomes de provedor de identidade para os tokens de identidade para esses provedores. Como você obtém o token do seu provedor de identidade depende do provedor que usa. Por exemplo, se o Facebook for um de seus provedores de identidade, você poderá usar a FB.login função do Facebook SDK
FB.login(function (response) { if (response.authResponse) { // logged in const region = "us-east-1"; const client = new S3Client({ region, credentials: fromCognitoIdentityPool({ identityPoolId: "us-east-1:1699ebc0-7900-4099-b910-2df94f52a030", logins: { "graph.facebook.com": response.authResponse.accessToken }, clientConfig: { region }, }), }); console.log('You are now logged in.'); } else { console.log('There was a problem logging you in.'); } });
Como recuperar uma identidade do Amazon Cognito
Você pode recuperar um identificador exclusivo do Amazon Cognito (ID de identidade) para seu usuário final. Se você permitir usuários não autenticados, poderá recuperá-los imediatamente. Se você autenticar usuários, recupere-os depois de definir os tokens de login. O fromCognitoIdentityPool provedor expõe as identityId credenciais que ele resolve, para que você possa lê-las a partir das credenciais resolvidas de um cliente que usa o provedor:
// Inside an async function: const { identityId } = await client.config.credentials();
Você pode usar o Amazon Cognito para fornecer credenciais temporárias com privilégios limitados ao seu aplicativo, para que seus usuários possam acessar os recursos. AWS O Amazon Cognito é compatível com identidades autenticadas e não autenticadas. Para fornecer AWS credenciais ao seu aplicativo, siga estas etapas.
O AWS SDK for Unity agora faz parte do SDK para .NET. Para começar a usar o Amazon Cognito no SDK para .NET, consulte o provedor de credenciais do Amazon Cognito no Guia do desenvolvedor. AWS SDK para .NET Ou consulte o Amplify Dev Center
Como recuperar uma identidade do Amazon Cognito
É possível recuperar um identificador exclusivo (ID de identidade) do Amazon Cognito para o usuário final imediatamente se você estiver permitindo usuários não autenticados ou depois de configurar os tokens de login no provedor de credenciais se estiver autenticando usuários:
string identityId = await credentials.GetIdentityIdAsync();