Как добавить пользовательские роли или группы, добавленные в токен Cognito JWT? - PullRequest
1 голос
/ 05 февраля 2020

Я действительно изо всех сил пытаюсь добавить пользовательские роли или группы в токен JWT, сгенерированный Cognito. Я использую триггер поколения Pre-Token в Cognito для выполнения лямбды. Я добавляю объект "groupOverrideDetails" в ответ. Вот мой окончательный вывод:

"response": {
        "claimsOverrideDetails": {
            "claimsToAddOrOverride": {
                "custom_attribute_key2": "attribute_value2",
                "custom_attribute_key": "attribute_value"
            }
        },
        "groupOverrideDetails": {
            "groupsToOverride": [
                "developers"
            ],
            "iamRolesToOverride": [
                "S3_Access_Admin"
            ],
            "preferredRole": "S3_Access_Admin"
        }
    }

Но в моем токене JWT я не вижу никаких вышеупомянутых ролей или групп.

  1. Подскажите, пожалуйста, что мне не хватает?
  2. Во-вторых, важно ли, чтобы группа "developers" и роль "S3_Access_Admin" действительно существовали в AWS? Что если мне нужно добавить пользовательскую группу в AWS?

1 Ответ

0 голосов
/ 23 марта 2020

Я не знаю, какая проверка выполняется для групп и ролей, которые вы добавляете в заявку, но я вижу только то, что вам нужно вложить groupOverrideDetails в claimsOverrideDetails. Вот фрагмент кода, с которым я смог работать.

    role_arns = ...
    event['response'] = {
        'claimsOverrideDetails': {
            'groupOverrideDetails': {
                # we don't need to modify the groups in our case
                'groupsToOverride': request['groupConfiguration']['groupsToOverride'],
                # this will set the claim 'cognito:roles'
                'iamRolesToOverride': role_arns,
                # this will set the claim 'cognito:preferredRole'
                'preferredRole': role_arns[0],
            },
    }
    return event

Мне помог следующий вопрос: * Для дальнейшего использования вот это aws do c. Прокрутите вниз до раздела под названием Pre Token Generation Example: Modify the User's Group Membership https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...