Auth.signIn 中的范围值与 AWS Cognito 的应用程序客户端中定义的范围值不同

Bil*_*hid 5 javascript typescript amazon-cognito next.js

我在 Next.js 应用程序中使用 AWS Cognito 进行身份验证。以下是 next.js 中 AWS Cognito 的配置

\n
import { Auth, Amplify } from "aws-amplify";\n \nAmplify.configure({\n  Auth: {\n    mandatorySignId: false,\n    region: config.cognito.REGION,\n    userPoolId: config.cognito.USER_POOL_ID,\n    userPoolWebClientId: config.cognito.APP_CLIENT_ID,\n    oauth: {\n      domain: config.cognito.DOMAIN,\n      scope: ["email", "openid"],\n      redirectSignIn: "http://localhost:3000/",\n      redirectSignOut: "http://localhost:3000/",\n      responseType: "code",\n    },\n  },\n});\n
Run Code Online (Sandbox Code Playgroud)\n

该函数调用提交按钮:

\n
import { Auth, Amplify } from "aws-amplify";\n \nAmplify.configure({\n  Auth: {\n    mandatorySignId: false,\n    region: config.cognito.REGION,\n    userPoolId: config.cognito.USER_POOL_ID,\n    userPoolWebClientId: config.cognito.APP_CLIENT_ID,\n    oauth: {\n      domain: config.cognito.DOMAIN,\n      scope: ["email", "openid"],\n      redirectSignIn: "http://localhost:3000/",\n      redirectSignOut: "http://localhost:3000/",\n      responseType: "code",\n    },\n  },\n});\n
Run Code Online (Sandbox Code Playgroud)\n

AWS Cognito 中定义的 OpenID Connect 范围是“ OpenID Email ”,如下图所示:

\n

在此输入图像描述

\n

但是,调用 Auth.signIn 后 next.js 中的范围值为:

\n
CognitoUser{\xc2\xa0\n signInUserSession{\n  accessToken{\n   payload{\n    scope: "aws.cognito.signin.user.admin",\n   },\n  },\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这与AWS Cognito OpenID Connect 范围值完全不同。

\n

请指导我如何在AWS Cognito中定义的Auth.signIn响应中获得相同的范围值。感谢您的帮助。

\n