在带有 npm 的 Lambda 函数中使用 AWS Cognito

2024-03-01

我正在尝试在 Lambda 函数中使用 AWS Cognito 来授权用户。

我有一些来自 Udemy 课程的示例代码(不再可用):https://www.udemy.com/minimum-viable-aws-cognito-user-auth-in-javascript https://www.udemy.com/minimum-viable-aws-cognito-user-auth-in-javascript

该代码使用脚本文件:

aws-cognito-sdk.min.js 亚马逊-cognito-identity.min.js

第二个似乎由 npm 提供: amazon-cognito-identity-js

第一个文件应该是 aws-sdk 的精简版本,仅包含 Cognito api 组件。完整的 aws-sdk 可从 npm 获取:aws-sdk,但我在 npm 中找不到精简版本。

缩减文件:aws-cognito-sdk.min.js 在 npm 中可用吗?

编辑: 根据 Russell 的说法,我应该使用 aws-sdk 包。

所以如果我有代码:

const AWS = require('aws-sdk');

var authenticationDetails = new AWS.AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);

我收到错误:

无法读取未定义的属性“CognitoIdentityServiceProvider”

AuthenticationDetails 的正确路径是什么?


对于 Lambda 使用aws-sdk模块如下:

const { CognitoIdentityServiceProvider } = require('aws-sdk')
//or 
const CognitoIdentityServiceProvider = require('aws-sdk/clients/cognitoidentityserviceprovider') // Much smaller size

对于身份验证,请使用管理员启动授权 https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html method.

  const cognitoProvider =  new CognitoIdentityServiceProvider({
      apiVersion: '2016-04-18',
      accessKeyId:...
      secretAccessKey: ...
      region:...
    })

    await cognitoProvider.adminInitiateAuth(...)

The amazon-cognito-identity-js https://www.npmjs.com/package/amazon-cognito-identity-js包适用于前端客户端(React、React Native 等)。它仅包含连接到 Cognito 所需的功能。它不需要aws-sdk模块(除非您需要额外的功能)。

虽然您可能可以使用amazon-cognito-identity-js对于您的用例来说,这远非理想,因为与使用 api 密钥加载管理方法相比,您只是假装是功能有限的未经身份验证的用户,从而为您提供更多功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在带有 npm 的 Lambda 函数中使用 AWS Cognito 的相关文章

随机推荐

  • 即使 Windows 重新启动后,C# AddFontResource 仍无法工作

    我正在尝试使用下面的代码使用 C 代码安装字体 调用InstallFont不会抛出任何异常并返回1 我认为这表明它已经安装了字体 但是 该字体既没有出现在 Windows Fonts 文件夹中的已安装字体列表中 也没有出现在检查 Insta
  • 在 R 中编辑 XML 文件

    我有一个包含以下元素的 xml 文档
  • 在 C 中有效地获取整数向量的绝对值

    任务是将 C 整数数组的每个元素设置为其绝对值 我正在努力尽可能高效地做到这一点 以下是我所做的一系列优化 请告诉我这些是否真的是优化 以及是否可以进行更多优化 该函数的第一个参数将是一个整数数组 第二个参数将是该数组的整数大小 这是标准实
  • Mathematica 中的条件数据操作

    我正在努力准备高效数据分析的最佳工具在数学中 我有大约 300 列和 100 000 行 最好的技巧是什么 删除 提取 或简单地 考虑 数据结构的部分 用于绘制例如 我能想到的最棘手的例子之一是 给定一个数据结构 对于第 2 列中的值等于
  • 将库添加到级联中

    您好 我正在开发一个应用程序来解压 blackberry10 中的文件 为了解压缩文件 我使用从 github 获得的 quazip 库代码 但我不知道如何将此库添加到我的项目中 任何人都可以让我知道如何将库添加到黑莓级联中 要将库添加到
  • Pandas 发送包含数据框作为可视表的电子邮件

    举个例子 df 1 1 2 3 5 df 2 10 20 30 50 df test pd concat pd DataFrame df 1 pd DataFrame df 2 axis 1 我如何通过 gmail 发送电子邮件 并使用此数
  • 值元组从 WebAPI 暴露错误的参数名称

    我正在使用网络 API 我有点懒 决定从我的控制器返回一个值元组 HttpGet Route AuthAPIRoutes GET MFA DEVICES public string Type string Value GetMultiFac
  • 是否可以使用 INNO 脚本移动现有目录/文件?

    我们最近对一个使用 INNO 脚本安装的应用程序进行了重大重组 不幸的是 该应用程序需要某些文件在不同版本之间保持不变 更不幸的是 这些文件的位置在这次重组期间发生了变化 最不幸的是 现在由我来制作一个 INNO 脚本片段 它将查看这些文件
  • swift 中的方法数组,没有引用循环

    我的目标是创建一个包含数组的类 数组的元素将是同一类的方法 喜欢 class MyClass lazy var functions self myFirstMethod self mySecondMethod deinit print De
  • 将 browser.element 获取到具有子项的页面对象中

    当我派生一个驱动程序实例以在浏览器之间发送消息时 我正在进行测试 我还使用页面对象来映射视图 在我的页面对象中 我有其他页面对象 其中一些对象继承自另一个页面对象 但是 当我分叉了一个驱动程序实例并有两个浏览器可以使用时 获取element
  • apache poi XSSFClientAnchor 未相对于 dx1、dy1、dx2、dy2 定位图片

    我正在尝试使用添加图像到Excelapache poi 版本3 16 我能够做到这一点HSSFWorkbook and XSSFWorkbook 但是当我尝试为图像添加间距时 即如果我设置dx1 dy1 dx2 dy2坐标在XSSFClie
  • Redis / Node.js - 2 个客户端(1 个发布/订阅)导致写入问题

    尝试创建两个客户端 一种是发布 订阅 另一种是标准连接 这不可能吗 必须有一种方法可以将其抽象为工作 基本上 如果我做一个get key运行 test js 后 我看到的只是 valueBefore 输出 node test js Repl
  • 地理编码地址 - 获取某个地址的区域(Google API)

    我有一个包含确切地址的数据库 街道 号码 城市 地区 地区 国家 但是 我想知道如果我们在纽约 是否有办法使用 Google API 来获取城市的区 例如 曼哈顿 所有其他信息我都已经在数据库中了 所以我只需要该地区 如果有的话 当然这只会
  • WPF自定义控件的ToolTip MultiBinding问题

    当我在 WPF 自定义控件中设置 ToolTip 绑定时 这种方式效果完美 public override void OnApplyTemplate base OnApplyTemplate SetBinding ToolTipProper
  • sbt-idea 1.2.0 未解决 SBT 0.12.0 和 Scala 2.10.0 问题?

    我正在创建一个新的 SBT 项目 以下是我的 SBT 文件的内容 构建属性 sbt version 0 12 0 插件 sbt addSbtPlugin com github mpeltonen sbt idea 1 2 0 构建 sbt
  • Java 字节码 DUP

    我想知道为什么以下字节码中的异常 用于抛出异常 是重复的 NEW java lang IllegalArgumentException DUP INVOKESPECIAL java lang IllegalArgumentException
  • PySpark 中的微秒时间戳

    我正在尝试使用 pyspark 中的以下语法将微秒字符串转换为时间戳 然而 我似乎得到了null当我转换时 我正在使用 Spark 2 2 我的字符串看起来像20180503 07 05 00 008288 我正在使用以下代码转换为时间戳
  • Azure Active Directory 应用程序权限更改延迟

    我正在使用 Azure Active Directory 为我的应用程序提供对 Microsoft Graph API 的访问权限 当我进行权限更改 例如 对各种类型数据的读 写访问权限 时 我注意到从保存更改到我能够通过 API 访问新数
  • 在 RSpec 中存根 RestClient 响应

    我有以下规格 describe successful POST on user create do it should redirect to dashboard do post user create name gt dave email
  • 在带有 npm 的 Lambda 函数中使用 AWS Cognito

    我正在尝试在 Lambda 函数中使用 AWS Cognito 来授权用户 我有一些来自 Udemy 课程的示例代码 不再可用 https www udemy com minimum viable aws cognito user auth