【以下的问题经过翻译处理】 我在完成 MFA(服务器端)后确认用户的设备,以确保我们能够让他们调用刷新(由于用户池上的设备跟踪,我们需要此操作)。 但是,我尝试的所有结果都会导致相同的结果 - Invalid device key given。 由于 aws-cognito-identity-js,我们让它在客户端运行良好,甚至无需尝试 - 但我们还有一个旧应用程序的旧登录端点,我们希望将其挂接到新用户池中,因此刷新调用需要 deviceKey。 我一直在查看 aws-cognito-identity-js 发出的调用,这些调用在浏览器中成功 - 但当我复制为curl并在终端中运行时失败 - 是的,你得到了Invalid device key given。 我的代码如下 - accessToken 和 deviceKey 来自 SMS_MFA 挑战的响应结果 - 有人通过 aws-cognito-identity-js 解决这个问题吗?
'''
authHelper.generateHashDevice(deviceGroupKey, deviceKey, async (err) => {
if (err) {
return reject(err);
}
const deviceSecretVerifierConfig = {
Salt: Buffer.from(
authHelper.getSaltDevices(),
'hex'
).toString('base64'),
PasswordVerifier: Buffer.from(
authHelper.getVerifierDevices(),
'hex'
).toString('base64'),
};
const confirmConfig = {
AccessToken: accessToken,
DeviceKey: deviceKey,
DeviceName: `${username}-${poolId}-${deviceKey}`,
DeviceSecretVerifierConfig: deviceSecretVerifierConfig,
}
await cognito.confirmDevice(confirmConfig);
});
'''