如何使用 API Gateway Cognito 授权方对 Guest/Unauthenticated 用户进行身份验证?

How to authenticate Guest/Unauthenticated users with API Gateway Cognito Authorizer?

在 API 网关中,您可以设置引用 Cognito 用户池进行身份验证的 Cognito 授权方。为了进行验证,API 网关希望在授权 header 中设置 Cognito 用户池 JWT 令牌。

使用 'aws-sdk' 和 'amazon-cognito-identity-js' NPM 包,我如何创建 guest/unauthenticated 用户并检索 JWT 令牌以传递给 API 网关? Guest/unauthenticated,我的意思是甚至没有用户名或电子邮件。或者,这对于当前的 APIs 是不可能的吗?

Amplify(建立在 Cognito 之上)似乎有类似的东西:https://docs.amplify.aws/sdk/auth/guest-access/q/platform/android

想法?

Cognito 用户池是身份验证提供程序。这与身份池提供的未经身份验证的访问是分开的。您不能在 API 网关中使用默认的 cognito 授权方来验证令牌。但是,您可以使用自定义 lambda 授权方获取令牌并确认它对您的身份池有效。