我有AWS认知身份池,它配置了认知用户池作为身份验证提供者。
假设我在认知身份池中有一个身份ID (例如,us-east-1:XXaXcXXa-XXXX-XXXX-XXX-XXXXXXXXXXXX),其中该身份有一个链接登录到认知用户池中的用户)。
使用身份ID,我如何获得链接的用户详细信息(电子邮件,电话,用户名)?
发布于 2016-06-22 21:32:39
您与Cognito联邦身份服务交换的ID令牌已具有所有用户属性,以获取标识id和凭据。您不需要给任何服务打额外的电话。

它是一个JWT令牌,您可以使用客户机上的任何库来解码这些值。您可以阅读本指南获得更多关于科尼图用户池支持的令牌的信息。
或者,您也可以使用访问令牌调用GetUser API,这将返回所有用户信息。
发布于 2019-11-04 02:29:41
使用REST
AccessToken
我认为这可能对某些人很有帮助,因为我花了很多时间试图弄清楚如何只使用accessToken和region (类似于这,但使用REST )(而不是使用aws)。
您可以使用此HTTP请求使用accessToken获取accessToken。( GetUser )
Method: POST
Endpoint: https://cognito-idp.{REGION}.amazonaws.com/
Content-Type: application/x-amz-json-1.1
Content-Length: 1162 // Access Token bytes length
X-Amz-Target: AWSCognitoIdentityProviderService.GetUser
Body: {"AccessToken":"ACCESS_TOKEN"}如果accessToken是有效的,您应该收到下面的示例响应
{
"UserAttributes": [
{
"Name": "sub",
"Value": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"
},
{
"Name": "email_verified",
"Value": "true"
},
{
"Name": "name",
"Value": "Jason"
},
{
"Name": "phone_number_verified",
"Value": "true"
},
{
"Name": "phone_number",
"Value": "+xxxxxxxxxxx"
},
{
"Name": "email",
"Value": "xxxx@gmail.com"
}
],
"Username": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"
}发布于 2019-03-30 22:22:40
AWS认知-idp列表-用户有一个过滤器选项,允许您根据属性进行筛选。“‘sub”是与您所描述的标识id匹配的属性。
例如在命令行:
aws cognito-idp list-users --user-pool-id us-east-1_abcdFghjI --filter "sub=\":XXaXcXXa-XXXX-XXXX-XXX-XXXXXXXXXXXX\""这也需要用户池id,我怀疑你有。此外,我不知道这是如何实现的,也不知道它在过滤大量用户时是如何执行的,但我将不能在过滤器中使用的自定义属性视为窗帘后面有某种形式的索引的提示。
https://stackoverflow.com/questions/37963906
复制相似问题