- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 SDK 从我的 Lambda 函数对我的 Cognito 用户池执行管理操作,但我不知道如何正确地以管理员身份进行身份验证。理想情况下,我只想执行我的函数已经在使用的 Angular 色,但我还没有设法让它工作,而且不确定它是否可能。如果可能的话,我需要做什么才能让它发挥作用?如果不可能,实现这一目标的正确方法是什么?我是否必须在用户池中创建管理员用户,然后使用用户名和密码进行身份验证?
编辑:我已经用下面的代码实现了 Matt 的建议,但我只是从 Cognito 返回一个空对象(实际上只是 {} 出现在日志中),我不确定为什么。从阅读 documentation我应该得到数据或错误。正在进行更新,所以我知道它正在运行,我只是期待得到确认,有人知道我是否应该得到一些东西吗?
let cogUser;
const params = {
UserAttributes: [{
Name: "email",
Value: args.input.email
}],
UserPoolId: context.userpool_id,
Username: context.user
};
log.debug('Cog user params: ', params);
try {
cogUser = await context.conns.cognito.adminUpdateUserAttributes(params).promise();
} catch(err) {
log.error('Coguser threw error: ', err);
}
log.debug('Coguser return: ', cogUser);
编辑 2:尝试使用回调而不是 promise 。
context.conns.cognito.adminUpdateUserAttributes(params, function(err, data) {
if (err) {
console.log(err)
} else {
cogUser = data;
}
});
最佳答案
如果您想使用已经绑定(bind)到 Lambda 函数的 IAM Angular 色,您只需在 AWS 控制台中编辑 Angular 色并为 Angular 色添加适当的策略(取决于您想要完成的任务)。
例如,您可以将预配置的“AmazonCognitoPowerUser”策略添加到 Angular 色(见下文):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cognito-identity:*",
"cognito-idp:*",
"cognito-sync:*",
"iam:ListRoles",
"iam:ListOpenIdConnectProviders",
"sns:ListPlatformApplications"
],
"Resource": "*"
}
]
}
或者更好的是,将您的 lambda 函数所需的特定资源所需的特定策略规则添加为新策略。
执行此操作后,您可以直接调用 Cognito Admin API(参见下面的示例):
exports.handler = (event, context, callback) => {
var AWS = require('aws-sdk');
var CognitoIdentityServiceProvider = new AWS.CognitoIdentityServiceProvider({apiVersion: '2016-04-18'});
var params = {
UserAttributes: [{
Name: `custom:${event.attribute}`,
Value: event.value
}],
UserPoolId: 'us-east-1_example',
Username: event.username
}
CognitoIdentityServiceProvider.adminUpdateUserAttributes(params, function(err, data) {
if (err) { console.log(err) }
context.done(null, data);
});
};
关于javascript - 使用 Lambda IAM Angular 色以管理员身份对 Cognito 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54075245/
我在业余时间慢慢学习javascript,但还没有完全掌握这一点。但一位 friend 要求我制作一个简单的机器人,它可以向每个加入服务器的新用户发送私信,询问他们希望用户名的颜色是什么,并将他们添加
抱歉,标题令人困惑,我会澄清一下。我正在尝试让机器人检查用户是否在他们的 quick.db 库存中具有特定 Angular 色,如果有,它就会装备该 Angular 色。我遇到的问题是,即使在 lis
所以我想做一个小的用户配置文件,但我希望它打印出用户 Angular 色。可能吗? case "Profile": var embed = new Discord.RichEmbed()
我有一个表单,其中包含三个不同的 data-role="page" 和三个不同的 data-url="abc"。 根据某些条件,单击第一页上的按钮后,我将在第二页上渲染/显示某些字段。 现在我正在获取
我有一行不和谐机器人的代码,用于删除特定的命名 Angular 色并添加一个名为“静音”的 Angular 色一段特定的时间。基本上,服务器只能有 3 个 Angular 色,一个可以发出命令,一个具
我想在编写函数时在编辑页面上显示文本的标题。 应用程序.html {{ text }} 应用程序.ts getRoleEdit
如果 s 是一个系列,我在运行以下命令时会收到一条错误消息: s.plot(style='k--', color='b') 错误消息说 [b] 不是可识别的颜色。 我正在使用 Pandas 0.11。
这是一个 fiddle http://jsfiddle.net/aLr2yx8d/ $('#inputButton').click(function() { var value = $(
所以,基本上。我想做的是创建一个单词解密器,您可以在其中输入一个打乱的单词并对其进行解密。它工作得很好,尽管我单独检查每个字符,但由于某种原因,额外的字符漏掉了。 我输入“olehl (hello)”
在尝试console.log字符串时,我遇到了一个相当烦人的问题。我将字符串 2^{\\frac{1}{2}}x=1 存储在 Node.js 数据库中,但输出时给出 2^{rac{1}{2 }}x=1
我想创建一个命令来查找用户在服务器中拥有的最高 Angular 色。 我已经知道Python中有一个discord.user.top_role。是否有相当于该功能的 Javascript? 我尝试将此
我对 Node.js 相当陌生,目前正在开发一个 Discord 机器人。我试图让我的机器人根据用户传递的参数分配服务器 Angular 色。我知道我可以找到特定 Angular 色的名称,然后根据他
我一直在尝试创建一个简单的命令,为在聊天中说话的人提供一个 Angular 色,假设他们说了一句脏话,它会给 message.author 静音 Angular 色。 client.on("messa
如何使用expressjs和passport在nodejs中实现基于 Angular 色的授权/访问控制以及如何完美设计 Angular 色中间件? 我有两种登录类型管理员和用户 以管理员和用户的名义
我在这里有一个键盘可访问的自定义下拉组件:https://codesandbox.io/s/31440w1vo6 但是,当我打开 NVDA 或 JAWS 时,激活“选择等位基因”后焦点不会再移动到选项
我正在为我的机器人创建 Angular 色分配命令,因此用户可以输入 h.addrole @user @role 我正在尝试执行此命令,如果用户拥有该 Angular 色,它会输出说 此用户已经拥有此
我想从数据库中获取用户的 Angular 色(组织或个人)。我有一个名为“Users”的表,另一个名为“Role_users”的表,其中有 user_id 和 role_id(1 代表个人,100 代
我有一个在 Vuejs 项目中导出一些函数的文件,我还需要在外部环境中使用它们..在 Component 中我知道我要使用哪个函数应该通过名称识别并与 .JSON 文件进行比较来使用,这在开发环境中很
我想将用户添加到我的 Parse.Role 但它不起作用。我看了很多例子,它们看起来都很简单,但我无法正确理解。这是我的代码: Parse.Cloud.define("activateVendor",
我克隆了一个 https://github.com/beeman/loopback-angular-admin我已经使用环回资源管理器创建了几个新 Angular 色,但是如何为我创建的用户分配 An
我是一名优秀的程序员,十分优秀!