在使用 Amazon Cognito 时,如果您使用了高级安全设备(例如 YubiKey 或 Google Authenticator),可能会出现设备不正确列出的问题。解决此问题,需要使用 Amazon Cognito 提供的 API。
以下是使用 AWS SDK for JavaScript 在 Node.js 中列出用户设备的示例代码:
var AWS = require('aws-sdk');
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider({apiVersion: '2016-04-18'});
var params = {
AccessToken: "ACCESS_TOKEN_FROM_USER_AUTHENTICATION"
};
cognitoidentityserviceprovider.listDevices(params, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
这将返回用户的设备列表。通过检查设备列表,您可以确保用户设备正确列出。如果存在问题,可以使用以下代码解决:
var AWS = require('aws-sdk');
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider({apiVersion: '2016-04-18'});
var params = {
AccessToken: "ACCESS_TOKEN_FROM_USER_AUTHENTICATION",
DeviceKey: "DEVICE_KEY_TO_VERIFY"
};
cognitoidentityserviceprovider.verifyUserDevice(params, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
在 verifyUserDevice API 中,您需要提供 AccessToken 和要验证的设备的 DeviceKey。
使用上述代码示例,您可以轻松列出和验证用户设备,确保其正确性。