`aws.cognito.signin.user.admin`范围在Amazon Cognito中意味着什么?

Gle*_*nnS 11 amazon-web-services oauth-2.0 amazon-cognito

Amazon Cognito有许多系统保留范围:

  • OpenID的
  • 电子邮件
  • 电话
  • 轮廓
  • aws.cognito.signin.user.admin

但是没有记录他们提供的访问权限.

前3个是相当不言自明的.我希望个人资料意味着用户个人资料.

我通过反复试验发现我需要aws.cognito.signin.user.admin使用Amazon Cognito Get User API调用.我本来希望这是profile相反的,但好的,好的.

我关心的是还有什么 aws.cognito.signin.user.admin可以做的.如果我让第三方客户请求此范围,我可以让他们访问什么?

tho*_*ace 17

aws.cognito.signin.user.admin范围使您可以访问所有可以使用访问令牌访问的用户池API (此处为完整文档).

请注意,这并不意味着用户可以任意访问所有AWS API(如IAM角色可能),但如果该API调用的请求语法包含"AccessToken": "string",则授予使用的访问令牌aws.cognito.signin.user.admin将能够调用它.

通常,授权此类授权的Cognito UserPools API(以及它唯一的 Cognito UserPool API)允许您在自己的UserPools配置文件上修改某些内容(即不要Admin以单个配置文件开头并影响单个配置文件):

通过API一览,这些操作是(https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_Operations.html):

  • AssociateSoftwareToken
  • 更改密码
  • ConfirmDevice
  • DeleteUser
  • DeleteUserAttributes
  • ForgetDevice
  • 的getDevice
  • 的getUser
  • GetUserAttributeVerificationCode
  • GlobalSignOut
  • ListDevices
  • SetUserMFAPreference
  • SetUserSettings
  • UpdateDeviceStatus
  • UpdateUserAttributes
  • VerifySoftwareToken
  • VerifyUserAttribute

  • GetUser 操作仅适用于“openid”范围令牌,不适用于“aws.cognito.signin.user.admin”。这实际上是我遇到的一个问题,cognito SDK 获取的令牌缺少“openid”范围,因此 getUser 调用返回 401 (4认同)