gpt4 book ai didi

node.js - 在带有 npm 的 Lambda 函数中使用 AWS Cognito

转载 作者:搜寻专家 更新时间:2023-10-31 23:07:38 25 4
gpt4 key购买 nike

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

我有一些来自 Udemy 类(class)的示例代码(不再可用):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

对于身份验证,请使用 AdminInitiateAuth方法。

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

await cognitoProvider.adminInitiateAuth(...)

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

虽然您可以将 amazon-cognito-identity-js 用于您的用例,但它远非理想,因为与加载使用您的 API key 的管理方法,从而为您提供更多功能。

关于node.js - 在带有 npm 的 Lambda 函数中使用 AWS Cognito,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48313291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com