如何使用 amplify-js 在节点 js 中通过用户名获取使用详细信息
How to get use details by username in node js with amplify-js
我正在使用 AWS Cognito 对使用 AWS Lambda 获取一些数据的 React 应用程序的用户进行身份验证。如何通过用户名获取特定用户的详细信息?
该应用程序类似于排行榜。用户使用 cognito 进行身份验证,我将他们的姓名和图片 url 存储在那里。在 React 客户端中,我需要根据客户端上的某些选择显示特定用户的图片和名称。
我将用户名存储在数据库中。是否可以致电 Cognito 以获取用户详细信息?或者最好的方法是什么?我是否也应该将这些详细信息与 Cognito 分开存储在数据库中? (即这似乎是重复工作)
几个月前我遇到了这个问题并使用 AWS-Amplify 创建了这个函数
import Amplify from 'aws-amplify'
var AWS = require('aws-sdk')
const CognitoExpress = require('cognito-express')
import { CognitoUserPool, CognitoUser } from 'amazon-cognito-identity-js'
exports.getUsersFromUserPool = (paramsObject, userPoolRegion) => {
return new Promise((resolve, reject) => {
AWS.config.update({ 'region': userPoolRegion, 'accessKeyId': process.env.AWS_ACCESS_KEY_ID, 'secretAccessKey': process.env.AWS_SECRET_KEY })
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider()
cognitoidentityserviceprovider.listUsers(paramsObject, (err, data) => {
if (err) {
console.log(err)
reject(err)
}
else {
resolve(data)
}
})
})
}
然后,只需调用
let listInstsParams = {
'AttributesToGet': ['email', 'name'],
'Filter': 'username= "' + <your_username>+ '"',
'UserPoolId': process.env.INSTITUTION_USER_POOL_ID
}
getUsersFromUserPool(listInstsParams, process.env.INSTITUTION_REGION)
.then(({ Users }) => console.log(Users))
我正在使用 AWS Cognito 对使用 AWS Lambda 获取一些数据的 React 应用程序的用户进行身份验证。如何通过用户名获取特定用户的详细信息?
该应用程序类似于排行榜。用户使用 cognito 进行身份验证,我将他们的姓名和图片 url 存储在那里。在 React 客户端中,我需要根据客户端上的某些选择显示特定用户的图片和名称。
我将用户名存储在数据库中。是否可以致电 Cognito 以获取用户详细信息?或者最好的方法是什么?我是否也应该将这些详细信息与 Cognito 分开存储在数据库中? (即这似乎是重复工作)
几个月前我遇到了这个问题并使用 AWS-Amplify 创建了这个函数
import Amplify from 'aws-amplify'
var AWS = require('aws-sdk')
const CognitoExpress = require('cognito-express')
import { CognitoUserPool, CognitoUser } from 'amazon-cognito-identity-js'
exports.getUsersFromUserPool = (paramsObject, userPoolRegion) => {
return new Promise((resolve, reject) => {
AWS.config.update({ 'region': userPoolRegion, 'accessKeyId': process.env.AWS_ACCESS_KEY_ID, 'secretAccessKey': process.env.AWS_SECRET_KEY })
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider()
cognitoidentityserviceprovider.listUsers(paramsObject, (err, data) => {
if (err) {
console.log(err)
reject(err)
}
else {
resolve(data)
}
})
})
}
然后,只需调用
let listInstsParams = {
'AttributesToGet': ['email', 'name'],
'Filter': 'username= "' + <your_username>+ '"',
'UserPoolId': process.env.INSTITUTION_USER_POOL_ID
}
getUsersFromUserPool(listInstsParams, process.env.INSTITUTION_REGION)
.then(({ Users }) => console.log(Users))