amazon-web-services - 如何通过 aws sdk 全局注销 cognito 用户
问题描述
我使用 AWS Cognito。我有附加的代码来基于访问令牌全局注销用户:
var signOut = (accessToken) =>
new Promise((resolve, reject) => {
var params = {
//UserPoolId: process.env.USER_POOL_ID, /* required */
AccessToken: accessToken /* required */
};
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider({
apiVersion: '2016-04-18',
region: 'us-east-1'
})
console.log("Signing out user .. ");
cognitoidentityserviceprovider.globalSignOut(params, function(err, data) {
if (err) {
console.log(err, err.stack); // an error occurred
reject(err)
} else {
console.log(data);
resolve(data)
}
});
});
当我调用代码时,出现以下错误:
2019-08-20T14:33:29.736Z 011d65cb-ee4d-4053-9283-6e6242560c6b { NotAuthorizedException: 访问令牌已在 Request.extractError (/var/task/sign-out/node_modules/aws-sdk/lib/protocol /json.js:51:27) 在 Request.callListeners (/var/task/sign-out/node_modules/aws-sdk/lib/sequential_executor.js:106:20) 在 Request.emit (/var/task/sign -out/node_modules/aws-sdk/lib/sequential_executor.js:78:10) 在 Request.emit (/var/task/sign-out/node_modules/aws-sdk/lib/request.js:683:14) 在Request.transition (/var/task/sign-out/node_modules/aws-sdk/lib/request.js:22:10) 在 AcceptorStateMachine.runTo (/var/task/sign-out/node_modules/aws-sdk/lib /state_machine.js:14:12)在 /var/task/sign-out/node_modules/aws-sdk/lib/state_machine.js:26:10 在请求。(/var/task/sign-out/node_modules/aws-sdk/lib/request.js:38:9) 在请求。
有谁知道如何解决这个问题?
解决方案
由于您正在使用的访问令牌已被全局注销,因此引发此异常。
这意味着您已经从 cognito 中退出。
尝试使用通过登录(又名登录)API 生成的新访问令牌调用相同的函数。
推荐阅读
- realm - 如何将 Realm Cloud 匿名用户转换为真实用户
- javascript - 使用 python Crypto.Cipher 进行 AES 解密
- python - 从文本文件中提取特征并将它们训练到分类器
- php - 在 PHP 中使用 Spot ORM 时出错
- android - 如何将 Bitmap 对象转换为 android.media.Image 对象?
- javascript - 调用 response.json() 时获取错误
- java - 如何通过XPath从同一父节点内的文本节点中提取文本
- sql - 异构查询需要 ansi_warnings 错误
- android-studio - 带有 Log.DEBUG 和 Log.VERBOSE 的 Log.println() 方法在诺基亚 1 中不起作用
- printing - 创建打印机设备上下文成功,除非在 windbg 下运行应用程序