Appsync: получение информации о пользователе в context.identity при использовании auth0 - PullRequest
0 голосов
/ 06 ноября 2019

В Appsync, при использовании cognito userpools с auth0 в качестве провайдера идентификации, идентификация выглядит следующим образом:

 "identity": {
        "claims": {
            "sub": "2e4dd05d-12e8-4c3e-af37-a23198d4bdfa",
            "cognito:groups": [
                "ap-southeast-1_afHwI1Nss_auth0app"
            ],
            "token_use": "access",
            "scope": "aws.cognito.signin.user.admin openid profile email",
            "auth_time": 1573038746,
            "iss": "https://cognito-idp.ap-southeast-1.amazonaws.com/ap-southeast-1_afHwI1Nss",
            "exp": 1573042346,
            "iat": 1573038746,
            "version": 2,
            "jti": "0481d844-3d59-4406-b9c2-83799ef6c1ff",
            "client_id": "<lots of numbers>",
            "username": "auth0app_auth0|5d9c81872fce3b0ded382498"
        },
        "defaultAuthStrategy": "ALLOW",
        "groups": [
            "ap-southeast-1_afHwI1Nss_auth0app"
        ],
        "issuer": "https://cognito-idp.ap-southeast-1.amazonaws.com/ap-southeast-1_afHwI1Nss",
        "sourceIp": [
            "<>"
        ],
        "sub": "2e4dd05d-12e8-4c3e-af37-a23198d4bdfa",
        "username": "auth0app_auth0|5d9c81872fce3b0ded382498"
    },

Это имя пользователя совсем не полезно при отображении на клиенте. Однако в cognito, когда я проверяю атрибуты для этого пользователя, есть дополнительные атрибуты, которые я сопоставил в конфигах.

Groups  ap-southeast-1_afHwI1Nss_auth0app 
Account Status  Enabled / EXTERNAL_PROVIDER
SMS MFA Status  Disabled
Last Modified   Nov 6, 2019 11:12:24 AM
Created Oct 25, 2019 8:41:01 AM
sub 2e4dd05d-12e8-4c3e-af37-a23198d4bdfa
identities  [{"userId":"auth0|5d9c81872fce3b0ded382498","providerName":"auth0app","providerType":"OIDC","issuer":null,"primary":true,"dateCreated":1571992861820}]
name    skillet
given_name  skillet
email   skillet@nope.com
picture <long-url>

Зная, что я использую aws-усиление на клиенте с withAuthenticatorHOC, как я могу получить доступ к этим свойствам из объекта контекста распознавателя appsync или иметь более понятное имя пользователя в объекте идентификации?

1 Ответ

0 голосов
/ 07 ноября 2019

AppSync изначально поддерживает аутентификацию OIDC. Это должно позволить вам обойти Cognito и разрешить прямой доступ к токену Auth0. Я лично не пробовал это с Auth0, но эти Auth0 документы и эти AppSync документы - хорошее место для начала.

...