Acionador do Lambda antes da geração do token - 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á.

Acionador do Lambda antes da geração do token

Como o Amazon Cognito invoca esse acionador antes da geração do token, é possível personalizar as declarações em tokens do grupo de usuários. Com os Recursos básicos da primeira versão ou V1_0 do evento de acionamento de geração pré-token, é possível personalizar o token de identidade (ID). Em grupos de usuários com recursos avançados de segurança ativos, é possível gerar a versão 2 ou V2_0 do evento de acionamento com a personalização do token de acesso.

O Amazon Cognito envia um evento V1_0 como uma solicitação à sua função com dados que seriam gravados no token do ID. Um evento V2_0 é uma solicitação única com os dados que o Amazon Cognito gravaria nos tokens de identidade e de acesso. Para personalizar os dois tokens, é necessário atualizar a função para usar a versão mais recente do gatilho e enviar dados aos dois tokens na mesma resposta.

Esse acionador do Lambda pode adicionar, remover e modificar algumas declarações em tokens de identidade e de acesso antes que o Amazon Cognito as emita para a aplicação. Para usar esse recurso, associe uma função do Lambda no console de grupos de usuários do Amazon Cognito ou atualize a LambdaConfig do grupo de usuários por meio da AWS Command Line Interface (AWS CLI).

Versões de eventos

Seu grupo de usuários pode fornecer diferentes versões de um evento de gatilho pré-geração de token para sua função Lambda. Um V1_0 gatilho fornece os parâmetros para modificação dos tokens de ID. Um V2_0 gatilho fornece parâmetros para o seguinte.

  1. As funções de um V1_0 gatilho.

  2. A capacidade de personalizar os tokens de acesso.

  3. A capacidade de transmitir tipos de dados complexos para valores de declaração de ID e token de acesso:

    • String

    • Número

    • Booleano

    • Matriz de cadeias de caracteres, números, booleanos ou uma combinação de qualquer um desses

    • JSON

nota

No token de ID, você pode preencher objetos complexos com os valores das declarações, exceto para phone_number_verifiedemail_verified,updated_at, e. address

Os grupos de usuários entregam V1_0 eventos por padrão. Para configurar seu grupo de usuários para enviar um V2_0 evento, escolha uma versão do evento Trigger dos recursos básicos + personalização do token de acesso ao configurar seu gatilho no console do Amazon Cognito. Você também pode definir o valor de LambdaVersion nos LambdaConfigparâmetros em uma CreateUserPool APIsolicitação UpdateUserPool or. Custos adicionais se aplicam à personalização do token de acesso com V2_0 eventos. Para mais informações, consulte Preços do Amazon Cognito.

Declarações e escopos excluídos

O Amazon Cognito limita as declarações e os escopos que você pode adicionar, modificar ou suprimir em tokens de acesso e identidade. Se a função do Lambda tentar definir um valor para qualquer uma dessas declarações, o Amazon Cognito emitirá um token com o valor da declaração original, se houver um na declaração.

Declarações compartilhadas
  • acr

  • amr

  • at_hash

  • auth_time

  • azp

  • exp

  • iat

  • iss

  • jti

  • nbf

  • nonce

  • origin_jti

  • sub

  • token_use

Declarações de token de ID
  • identities

  • aud

  • cognito:username

Declarações de token de acesso
  • username

  • client_id

  • scope

    nota

    É possível alterar os escopos em um token de acesso com os valores de resposta scopesToAdd e scopesToSuppress, mas não modificar a declaração scope diretamente. Não é possível adicionar escopos que comecem com aws.cognito, incluindo o escopo reservado aws.cognito.signin.user.admin dos grupos de usuários.

  • device_key

  • event_id

  • version

Não é possível adicionar nem substituir declarações com os prefixos a seguir, mas é possível suprimi-las ou impedir que elas apareçam no token.

  • dev:

  • cognito:

A IAM função reivindica cognito:roles e cognito:preferred_role está vinculada a grupos de grupos de usuários por padrão. Para suprimir essas reivindicações, suprima cognito:groups no claimsToSuppress objeto.

É possível adicionar uma declaração aud aos tokens de acesso, mas o valor deve corresponder ao ID do cliente da aplicação da sessão atual. É possível gerar o ID do cliente no evento de solicitação de event.callerContext.clientId.

Personalizar o token de identidade

Com o gatilho do Lambda de pré-geração de tokens, é possível personalizar o conteúdo de um token de identidade (ID) do grupo de usuários. O token de ID fornece atributos de usuário de uma fonte de identidade confiável para login em uma aplicação web ou móvel. Para obter mais informações sobre tokens, consulte Entendendo o token de identidade (ID).

Os usos do gatilho do Lambda de pré-geração de tokens com um token de ID incluem os seguintes:

  • Faça uma alteração em tempo de execução na IAM função que seu usuário solicita de um grupo de identidades.

  • Adicionar atributos do usuário de uma fonte externa.

  • Adicionar ou substituir valores de atributos de usuário existentes.

  • Suprimir a divulgação de atributos do usuário que, devido aos escopos autorizados do usuário e ao acesso de leitura aos atributos concedido ao cliente da aplicação, seriam transmitidos à aplicação.

Personalizar o token de acesso

Com o gatilho do Lambda de pré-geração de tokens, é possível personalizar o conteúdo de um token de acesso do grupo de usuários. O token de acesso autoriza os usuários a recuperar informações de recursos protegidos por acesso, como operações autorizadas por tokens do Amazon Cognito e de terceiros. API APIs Embora você possa gerar tokens de acesso para autorização machine-to-machine (M2M) com o Amazon Cognito com uma concessão de credenciais do cliente, as solicitações M2M não invocam a função de gatilho de pré-geração de token e não podem emitir tokens de acesso personalizados. Para obter mais informações sobre tokens de acesso, consulte Entendendo o token de acesso.

Os usos do gatilho do Lambda de pré-geração de tokens com um token de acesso incluem os seguintes:

  • Adicione ou suprima os escopos OAuth 2.0 na scope declaração. Por exemplo, você pode adicionar escopos a um token de acesso resultante da autenticação de API grupos de usuários do Amazon Cognito, que atribui somente o escopo. aws.cognito.signin.user.admin

  • Alterar a associação de um usuário em grupos de usuários.

  • Adicione declarações que ainda não estão presentes em um token de acesso do Amazon Cognito.

  • Suprimir a divulgação de declarações que, de outra forma, seriam transmitidas à aplicação.

Para oferecer compatibilidade com a personalização do acesso no grupo de usuários, é necessário configurar o grupo de usuários para gerar uma versão atualizada da solicitação de gatilho. Atualize o grupo de usuários conforme mostrado no procedimento a seguir.

AWS Management Console
Como oferecer compatibilidade com a personalização do token de acesso em um gatilho do Lambda de pré-geração do tokens
  1. Acesse o console do Amazon Cognito e escolha User Pools (Grupos de usuários).

  2. Escolha um grupo de usuários existente na lista ou crie um grupo de usuários.

  3. Se ainda não o fez, ative os recursos avançados de segurança na guia Segurança avançada.

  4. Escolha a guia User pool properties (Propriedades do grupo de usuários) e localize Lambda triggers (Acionadores do Lambda).

  5. Adicione ou edite um Acionador de geração de pré-token.

  6. Selecione uma função do Lambda em Atribuir função do Lambda.

  7. Escolha uma Versão do evento do acionador de Recursos básicos + personalização do token de acesso. Essa configuração atualiza os parâmetros de solicitação que o Amazon Cognito envia à função para incluir campos para personalização do token de acesso.

User pools API

Como oferecer compatibilidade com a personalização do token de acesso em um gatilho do Lambda de pré-geração do tokens

Gere uma UpdateUserPoolAPIsolicitação CreateUserPoolor. Você deve especificar um valor para todos os parâmetros que não deseja definir como padrão. Para obter mais informações, consulte Atualização da configuração do pool de usuários e do cliente do aplicativo.

Inclua o conteúdo a seguir no parâmetro LambdaVersion da solicitação. Um valor LambdaVersion de V2_0 faz com que o grupo de usuários adicione parâmetros para personalização do token de acesso. Para invocar uma versão de função específica, use uma ARN função Lambda com uma versão da função como valor de. LambdaArn

"PreTokenGenerationConfig": { "LambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:MyFunction", "LambdaVersion": "V2_0" },

Fontes do acionador do Lambda antes da geração do token

triggerSource valor Evento
TokenGeneration_HostedAuth Chamado durante a autenticação na página de login da IU hospedada no Amazon Cognito.
TokenGeneration_Authentication Chamado depois de os fluxos de autenticação de usuário concluírem.
TokenGeneration_NewPasswordChallenge Chamado após o usuário ser criado por um admin. Este fluxo é chamado quando o usuário tiver que alterar uma senha temporária.
TokenGeneration_AuthenticateDevice Chamado no final da autenticação do dispositivo de um usuário.
TokenGeneration_RefreshTokens Chamado quando um usuário tenta atualizar a identidade e acessar tokens.

Parâmetros do acionador do Lambda antes da geração do token

A solicitação que o Amazon Cognito transmite para essa função do Lambda é uma combinação dos parâmetros abaixo e dos parâmetros comuns que o Amazon Cognito adiciona a todas as solicitações. Ao adicionar um gatilho do Lambda de pré-geração de tokens ao grupo de usuários, é possível selecionar uma versão do gatilho. Essa versão determina se o Amazon Cognito transmite uma solicitação para a função do Lambda com parâmetros adicionais para personalização do token de acesso.

Version 1

O token da versão 1 pode definir a associação ao grupo, IAM funções e novas reivindicações em tokens de ID.

{ "request": { "userAttributes": {"string": "string"}, "groupConfiguration": { "groupsToOverride": [ "string", "string" ], "iamRolesToOverride": [ "string", "string" ], "preferredRole": "string" }, "clientMetadata": {"string": "string"} }, "response": { "claimsOverrideDetails": { "claimsToAddOrOverride": {"string": "string"}, "claimsToSuppress": [ "string", "string" ], "groupOverrideDetails": { "groupsToOverride": [ "string", "string" ], "iamRolesToOverride": [ "string", "string" ], "preferredRole": "string" } } } }
Version 2

O evento de solicitação da versão 2 adiciona campos que personalizam o token de acesso. Ele também adiciona suporte para tipos de claimsToOverride dados complexos no objeto de resposta. Sua função Lambda pode retornar os seguintes tipos de dados no valor de: claimsToOverride

  • String

  • Número

  • Booleano

  • Matriz de cadeias de caracteres, números, booleanos ou uma combinação de qualquer um desses

  • JSON

{ "request": { "userAttributes": { "string": "string" }, "scopes": ["string", "string"], "groupConfiguration": { "groupsToOverride": ["string", "string"], "iamRolesToOverride": ["string", "string"], "preferredRole": "string" }, "clientMetadata": { "string": "string" } }, "response": { "claimsAndScopeOverrideDetails": { "idTokenGeneration": { "claimsToAddOrOverride": { "string": [accepted datatype] }, "claimsToSuppress": ["string", "string"] }, "accessTokenGeneration": { "claimsToAddOrOverride": { "string": [accepted datatype] }, "claimsToSuppress": ["string", "string"], "scopesToAdd": ["string", "string"], "scopesToSuppress": ["string", "string"] }, "groupOverrideDetails": { "groupsToOverride": ["string", "string"], "iamRolesToOverride": ["string", "string"], "preferredRole": "string" } } } }

Parâmetros de solicitação antes da geração do token

Nome Descrição Versão mínima do evento de gatilho
userAttributes

Os atributos do seu perfil de usuário no grupo de usuários.

1
groupConfiguration

O objeto de entrada que contém a configuração atual do grupo. O objeto inclui groupsToOverride, iamRolesToOverride e preferredRole.

1
groupsToOverride

Os grupos de usuários dos quais seu usuário é membro.

1
iamRolesToSubstituir

Você pode associar um grupo de grupos de usuários a uma função AWS Identity and Access Management (IAM). Esse elemento é uma lista de todas as IAM funções dos grupos dos quais seu usuário é membro.

1
preferredRole

É possível definir uma precedência para grupos de usuários. Esse elemento contém o nome da IAM função do grupo com a maior precedência no elemento. groupsToOverride

1
clientMetadata

Um ou mais pares de chave-valor que você pode especificar e fornecer como entrada personalizada à função do Lambda para o acionador antes da geração do token.

Para passar esses dados para sua função Lambda, use o ClientMetadata parâmetro nas operações AdminRespondToAuthChallengee. RespondToAuthChallengeAPI O Amazon Cognito não inclui dados do ClientMetadata parâmetro AdminInitiateAuthe InitiateAuthAPIoperações na solicitação que ele passa para a função de pré-geração de token.

1
escopos

Os escopos OAuth 2.0 do seu usuário. Os escopos presentes em um token de acesso são os escopos padrão e personalizados do grupo de usuários que o usuário solicitou e que você autorizou o cliente da aplicação a emitir.

2

Parâmetros de resposta antes da geração do token

Nome Descrição Versão mínima do evento de gatilho
claimsOverrideDetails Um contêiner para todos os elementos em um evento de acionamento V1_0. 1
claimsAndScopeOverrideDetails

Um contêiner para todos os elementos em um evento de acionamento V2_0.

2
idTokenGeneration

As declarações que você deseja substituir, adicionar ou suprimir no token de ID do usuário. Esses valores de personalização do token pai para ID aparecem somente nos eventos da versão 2, mas os elementos filhos aparecem nos eventos da versão 1.

2
accessTokenGeneration

As declarações e os escopos que você deseja substituir, adicionar ou suprimir no token de acesso do usuário. Esse pai dos valores de personalização do token de acesso aparecem somente nos eventos da versão 2.

2
claimsToAddOrOverride

Um mapa de uma ou mais declarações e os respectivos valores que você deseja adicionar ou modificar. Para declarações relacionadas a grupos, use groupOverrideDetails.

Nos eventos da versão 2, esse elemento aparece em accessTokenGeneration e idTokenGeneration.

1 *
claimsToSuppress

Uma lista de declarações que o Amazon Cognito deve suprimir. Se sua função suprime e substitui um valor de solicitação, o Amazon Cognito suprime a solicitação.

Nos eventos da versão 2, esse elemento aparece em accessTokenGeneration e idTokenGeneration.

1
groupOverrideDetails

O objeto de saída que contém a configuração atual do grupo. O objeto inclui groupsToOverride, iamRolesToOverride e preferredRole.

A função substitui o objeto groupOverrideDetails pelo objeto fornecido. Se você fornecer um objeto nulo ou vazio na resposta, o Amazon Cognito suprimirá os grupos. Para manter a mesma configuração de grupo existente, copie o valor do objeto groupConfiguration da solicitação no objeto groupOverrideDetails na resposta. Depois, transmita-o de volta para o serviço.

O ID do Amazon Cognito e os tokens de acesso contêm a declaração cognito:groups. O objeto groupOverrideDetails substitui a declaração cognito:groups em tokens de acesso e em tokens de ID.

1
scopesToAdd

Uma lista de escopos OAuth 2.0 que você deseja adicionar à scope declaração no token de acesso do seu usuário. Não é possível adicionar valores de escopo que contenham um ou mais caracteres de espaço em branco.

2
scopesToSuppress

Uma lista de escopos OAuth 2.0 que você deseja remover da scope declaração no token de acesso do seu usuário.

2

* Objetos de resposta aos eventos da versão 1 podem retornar sequências de caracteres. Objetos de resposta aos eventos da versão 2 podem retornar objetos complexos.

Exemplo da segunda versão do evento de acionamento pré-token: adicionar e suprimir declarações, escopos e grupos

Este exemplo faz as seguintes modificações nos tokens de um usuário.

  1. Define family_name como Doe no token de ID.

  2. Impede que as declarações email e phone_number apareçam no token de ID.

  3. Define a declaração cognito:roles do token de ID como "arn:aws:iam::123456789012:role\/sns_callerA","arn:aws:iam::123456789012:role\/sns_callerC","arn:aws:iam::123456789012:role\/sns_callerB".

  4. Define a declaração cognito:preferred_role do token de ID como arn:aws:iam::123456789012:role/sns_caller.

  5. Adiciona os escopos openid, email e solar-system-data/asteroids.add ao token de acesso.

  6. Suprime o escopo phone_number e aws.cognito.signin.user.admin do token de acesso. A remoção de phone_number impede a recuperação do número de telefone do usuário em userInfo. A remoção de aws.cognito.signin.user.admin impede API que o usuário leia e modifique seu próprio perfil com os grupos de usuários do Amazon Cognito. API

    nota

    A remoção de phone_number dos escopos só impedirá a recuperação do número de telefone de um usuário se os escopos restantes no token de acesso incluírem openid e pelo menos mais um escopo padrão. Para obter mais informações, consulte Sobre escopos.

  7. Define a declaração cognito:groups do token de ID e de acesso como "new-group-A","new-group-B","new-group-C".

JavaScript
export const handler = function(event, context) { event.response = { "claimsAndScopeOverrideDetails": { "idTokenGeneration": { "claimsToAddOrOverride": { "family_name": "Doe" }, "claimsToSuppress": [ "email", "phone_number" ] }, "accessTokenGeneration": { "scopesToAdd": [ "openid", "email", "solar-system-data/asteroids.add" ], "scopesToSuppress": [ "phone_number", "aws.cognito.signin.user.admin" ] }, "groupOverrideDetails": { "groupsToOverride": [ "new-group-A", "new-group-B", "new-group-C" ], "iamRolesToOverride": [ "arn:aws:iam::123456789012:role/new_roleA", "arn:aws:iam::123456789012:role/new_roleB", "arn:aws:iam::123456789012:role/new_roleC" ], "preferredRole": "arn:aws:iam::123456789012:role/new_role", } } }; // Return to Amazon Cognito context.done(null, event); };

O Amazon Cognito transmite informações de evento para a função do Lambda. A função retorna o mesmo objeto de evento para o Amazon Cognito, com as alterações na resposta. No console do Lambda, você pode configurar um evento de teste com dados relevantes para o acionador do Lambda. A seguir, é mostrado um evento de teste para esse exemplo de código:

JSON
{ "version": "2", "triggerSource": "TokenGeneration_Authentication", "region": "us-east-1", "userPoolId": "us-east-1_EXAMPLE", "userName": "JaneDoe", "callerContext": { "awsSdkVersion": "aws-sdk-unknown-unknown", "clientId": "1example23456789" }, "request": { "userAttributes": { "sub": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "cognito:user_status": "CONFIRMED", "email_verified": "true", "phone_number_verified": "true", "phone_number": "+12065551212", "family_name": "Zoe", "email": "Jane.Doe@example.com" }, "groupConfiguration": { "groupsToOverride": ["group-1", "group-2", "group-3"], "iamRolesToOverride": ["arn:aws:iam::123456789012:role/sns_caller1", "arn:aws:iam::123456789012:role/sns_caller2", "arn:aws:iam::123456789012:role/sns_caller3"], "preferredRole": ["arn:aws:iam::123456789012:role/sns_caller"] }, "scopes": [ "aws.cognito.signin.user.admin", "openid", "email", "phone" ] }, "response": { "claimsAndScopeOverrideDetails": [] } }

Exemplo da segunda versão do evento de pré-geração de tokens: adicionar declarações com objetos complexos

Este exemplo faz as seguintes modificações nos tokens de um usuário.

  1. Adiciona declarações de número, string, booleano e JSON tipos ao token de ID. Essa é a única alteração que os eventos de gatilho da versão dois disponibilizam para o token de ID.

  2. Adiciona declarações de número, string, booleano e JSON tipos ao token de acesso.

  3. Adiciona três escopos ao token de acesso.

  4. Suprime as sub reivindicações email e nos tokens de ID e acesso.

  5. Suprime o aws.cognito.signin.user.admin escopo no token de acesso.

JavaScript
export const handler = function(event, context) { var scopes = ["MyAPI.read", "MyAPI.write", "MyAPI.admin"] var claims = {} claims["aud"]= event.callerContext.clientId; claims["booleanTest"] = false; claims["longTest"] = 9223372036854775807; claims["exponentTest"] = 1.7976931348623157E308; claims["ArrayTest"] = ["test", 9223372036854775807, 1.7976931348623157E308, true]; claims["longStringTest"] = "\{\ \"first_json_block\": \{\ \"key_A\": \"value_A\",\ \"key_B\": \"value_B\"\ \},\ \"second_json_block\": \{\ \"key_C\": \{\ \"subkey_D\": [\ \"value_D\",\ \"value_E\"\ ],\ \"subkey_F\": \"value_F\"\ \},\ \"key_G\": \"value_G\"\ \}\ \}"; claims["jsonTest"] = { "first_json_block": { "key_A": "value_A", "key_B": "value_B" }, "second_json_block": { "key_C": { "subkey_D": [ "value_D", "value_E" ], "subkey_F": "value_F" }, "key_G": "value_G" } }; event.response = { "claimsAndScopeOverrideDetails": { "idTokenGeneration": { "claimsToAddOrOverride": claims, "claimsToSuppress": ["email"] }, "accessTokenGeneration": { "claimsToAddOrOverride": claims, "claimsToSuppress": ["email"], "scopesToAdd": scopes, "scopesToSuppress": ["aws.cognito.signin.user.admin"] } } }; console.info("EVENT response\n" + JSON.stringify(event, (_, v) => typeof v === 'bigint' ? v.toString() : v, 2)) console.info("EVENT response size\n" + JSON.stringify(event, (_, v) => typeof v === 'bigint' ? v.toString() : v).length) // Return to Amazon Cognito context.done(null, event); };

O Amazon Cognito transmite informações de evento para a função do Lambda. A função retorna o mesmo objeto de evento para o Amazon Cognito, com as alterações na resposta. No console do Lambda, você pode configurar um evento de teste com dados relevantes para o acionador do Lambda. A seguir, é mostrado um evento de teste para esse exemplo de código:

JSON
{ "version": "2", "triggerSource": "TokenGeneration_HostedAuth", "region": "us-west-2", "userPoolId": "us-west-2_EXAMPLE", "userName": "JaneDoe", "callerContext": { "awsSdkVersion": "aws-sdk-unknown-unknown", "clientId": "1example23456789" }, "request": { "userAttributes": { "sub": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "cognito:user_status": "CONFIRMED" "email_verified": "true", "phone_number_verified": "true", "phone_number": "+12065551212", "email": "Jane.Doe@example.com" }, "groupConfiguration": { "groupsToOverride": ["group-1", "group-2", "group-3"], "iamRolesToOverride": ["arn:aws:iam::123456789012:role/sns_caller1"], "preferredRole": ["arn:aws:iam::123456789012:role/sns_caller1"] }, "scopes": [ "aws.cognito.signin.user.admin", "phone", "openid", "profile", "email" ] }, "response": { "claimsAndScopeOverrideDetails": [] } }

Exemplo da primeira versão do evento de geração pré-token: adicionar uma nova declaração e suprimir uma declaração existente

Esse exemplo usa um evento de gatilho 1 de versão com uma função do Lambda de pré-geração de tokens para adicionar uma nova declaração e suprimir uma existente.

Node.js
const handler = async (event) => { event.response = { claimsOverrideDetails: { claimsToAddOrOverride: { my_first_attribute: "first_value", my_second_attribute: "second_value", }, claimsToSuppress: ["email"], }, }; return event; }; export { handler };

O Amazon Cognito transmite informações de evento para a função do Lambda. A função retorna o mesmo objeto de evento para o Amazon Cognito, com as alterações na resposta. No console do Lambda, você pode configurar um evento de teste com dados relevantes para o acionador do Lambda. A seguir, é mostrado um evento de teste para esse exemplo de código: como o código de exemplo não processa nenhum parâmetro de solicitação, você pode usar um evento de teste com uma solicitação vazia. Para obter mais informações sobre parâmetros de solicitação comuns, consulte Evento de acionador do Lambda do grupo de usuários.

JSON
{ "request": {}, "response": {} }

Exemplo da primeira versão do evento de geração pré-token: modificar a associação do grupo do usuário

Esse exemplo usa o evento de gatilho 1 de versão com uma função do Lambda de pré-geração de tokens para modificar a associação do grupo do usuário.

Node.js
const handler = async (event) => { event.response = { claimsOverrideDetails: { groupOverrideDetails: { groupsToOverride: ["group-A", "group-B", "group-C"], iamRolesToOverride: [ "arn:aws:iam::XXXXXXXXXXXX:role/sns_callerA", "arn:aws:iam::XXXXXXXXX:role/sns_callerB", "arn:aws:iam::XXXXXXXXXX:role/sns_callerC", ], preferredRole: "arn:aws:iam::XXXXXXXXXXX:role/sns_caller", }, }, }; return event; }; export { handler };

O Amazon Cognito transmite informações de evento para a função do Lambda. A função retorna o mesmo objeto de evento para o Amazon Cognito, com as alterações na resposta. No console do Lambda, você pode configurar um evento de teste com dados relevantes para o acionador do Lambda. A seguir, é mostrado um evento de teste para esse exemplo de código:

JSON
{ "request": {}, "response": {} }