

# Auth0 de Okta
<a name="identity-idp-auth0"></a>

O Auth0 pode ser configurado como um provedor de identidade para acessar o AgentCore Gateway e o Runtime, ou um provedor de credenciais de AgentCore identidade para acesso a recursos de saída. Isso permite que seus agentes autentiquem e autorizem usuários do agente com o Auth0 como provedor de identidade e servidor de autorização, ou que seus agentes obtenham credenciais para acessar recursos autorizados pelo Auth0.

## Entrada
<a name="identity-idp-auth0-inbound"></a>

Para adicionar o Auth0 como provedor de identidade e servidor de autorização para acessar o AgentCore Gateway e o Runtime, você deve:
+ Configure o URL de descoberta a partir do seu diretório IDP. Isso ajuda o AgentCore Identity a obter os metadados relacionados ao seu servidor de autorização OAuth e às chaves de verificação de token.
+ Insira `aud` reivindicações válidas para o token. Isso ajuda a validar os tokens provenientes do seu IDP e permite o acesso a tokens que contêm reivindicações esperadas.

Use o procedimento a seguir para configurar o Auth0 e obter os valores de configuração necessários para a autenticação do Gateway.

 **Para configurar Auth0 para autenticação de entrada** 

1. Crie uma API no Auth0:

   1. Faça login no seu painel Auth0.

   1. Abra as **APIs** e escolha **Criar API**.

   1. Insira um nome e um identificador para sua API (por exemplo, “gateway-api”).

   1. Selecione o algoritmo de assinatura (recomendado o RS256).

   1. Escolha **Criar**.

1. Configure os escopos da API:

   1. Nas configurações da API, acesse a guia **Escopos**.

   1. Adicione escopos como “invoke:gateway” e “read:gateway”.

1. Crie um aplicativo:

   1. Abra **Aplicativos** e escolha **Criar aplicativo**.

   1. Selecione **Aplicação máquina a máquina**.

   1. Selecione a API que você criou na etapa 1.

   1. Autorize o aplicativo para os escopos que você criou.

   1. Escolha **Criar**.

1. Registre o ID do cliente e o segredo do cliente nas configurações do aplicativo. Você precisará desses valores para configurar o provedor Auth0 em AgentCore Identity.

1. Crie o URL de descoberta para seu inquilino Auth0:

   ```
   https://your-domain/.well-known/openid-configuration
   ```

   Onde {{your-domain}} está seu domínio de locatário Auth0 (por exemplo, “dev-example.us.auth0.com”).

1. Configure a Autenticação de Entrada com os seguintes valores:

   1.  **URL de descoberta**: o URL construído na etapa anterior

   1.  **Públicos permitidos**: o identificador de API que você criou na etapa 1

## Saída
<a name="identity-idp-auth0-outbound"></a>

**nota**  
AgentCore A identidade emite uma URL exclusiva de retorno de chamada do OAuth2 para cada provedor de credenciais que você cria. O URL de retorno de chamada exclusivo permite a vinculação de sessão, o que protege a troca do código de autorização do OAuth2 contra repetições e CSRF-style ataques entre provedores, garantindo que uma resposta de autorização só possa ser resgatada contra o provedor de credenciais específico que a iniciou. Como o URL é exclusivo por provedor, você não o saberá até **depois** de ligar`CreateOauth2CredentialProvider`. Crie seu aplicativo Auth0 primeiro e, em seguida, retorne ao painel Auth0 para registrar o URL de retorno de chamada depois que o AgentCore Identity o emitir.

 **Etapa 1: criar o aplicativo Auth0** 

Use o procedimento a seguir para configurar um aplicativo Auth0 OAuth2 e obter as credenciais de cliente necessárias para o Identity. AgentCore Você registrará o URI de redirecionamento na Etapa 3, depois que o AgentCore Identity emitir o URL de retorno de chamada exclusivo.

 **Para configurar um aplicativo Auth0 OAuth2** 

1. Faça login no seu painel Auth0.

1. Abra **Aplicativos** e escolha **Criar aplicativo**.

1. Insira um nome para seu aplicativo e selecione **Aplicativo Web Regular** como o tipo de aplicativo.

1. Escolha **Criar**.

1. Na guia **Configurações** do aplicativo, deixe os **URLs de retorno de chamada permitidos** vazios por enquanto — você adicionará o URL de retorno de chamada exclusivo na Etapa 3.

1. Configure todas as conexões, escopos e permissões necessários para seu aplicativo.

1. Registre o **ID do** **cliente e o segredo** do cliente nas configurações do aplicativo. Você precisará desses valores para configurar o provedor Auth0 em AgentCore Identity.

1. Anote seu domínio de inquilino Auth0 (por exemplo,`dev-example.us.auth0.com`). Você usará isso para criar os endpoints de autorização, token e emissor na Etapa 2.

Para obter mais detalhes, consulte a [documentação do Auth0 sobre a criação de aplicativos](https://auth0.com/docs/get-started/auth0-overview/create-applications).

 **Etapa 2: criar o provedor de credenciais de AgentCore identidade** 

Para configurar o Auth0 como um provedor de recursos de saída, use o seguinte:

```
{
  "name": "NAME",
  "credentialProviderVendor": "Auth0Oauth2",
  "oauth2ProviderConfigInput" : {
    "includedOauth2ProviderConfig": {
      "clientId": "your-client-id",
      "clientSecret": "your-client-secret",
      "authorizationEndpoint": "https://your-auth0-tenant.auth0.com/authorize",
      "tokenEndpoint": "https://your-auth0-tenant.auth0.com/oauth/token",
      "issuer": "https://your-auth0-tenant.auth0.com"
    }
  }
}
```

A [CreateOauth2CredentialProvider](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_CreateOauth2CredentialProvider.html)resposta inclui um `callbackUrl` campo. Esse URL é exclusivo desse provedor de credenciais e se parece com:`https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`. Salve esse valor para a próxima etapa.

 **Etapa 3: registrar o URL de retorno de chamada exclusivo com Auth0** 

Retorne ao painel Auth0 e adicione o URL de retorno de chamada exclusivo aos retornos de chamada permitidos do seu aplicativo.

1. Faça login no painel do Auth0 e abra o aplicativo que você criou na Etapa 1.

1. Na guia **Configurações**, cole o `callbackUrl` valor retornado por `CreateOauth2CredentialProvider` em **URLs de retorno de chamada permitidos**.

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