若出现401错误,可能是因为访问令牌已过期或访问的资源被拒绝。要解决此问题,请确保在请求中包含正确的令牌,并对令牌进行验证以确保其有效性。以下是一个使用AWS Cognito和Node.js的示例代码,通过它可以成功验证令牌,从而避免401错误:
const AmazonCognitoIdentity = require('amazon-cognito-identity-js'); const CognitoUserPool = AmazonCognitoIdentity.CognitoUserPool;
const poolData = { UserPoolId: 'YOUR_USER_POOL_ID', // 用户池的ID ClientId: 'YOUR_APP_CLIENT_ID' // 应用程序客户端的ID };
const userPool = new CognitoUserPool(poolData); // 创建用户池
// 在请求中包含正确的访问令牌并进行验证 const authToken = 'YOUR_ACCESS_TOKEN'; userPool.getCurrentUser().getSession(authToken, function(err, session) { if (err) { console.log(err); return; }
console.log('session validity: ' + session.isValid());
console.log('access token: ' + session.getAccessToken().getJwtToken());
console.log('id token: ' + session.getIdToken().getJwtToken());
console.log('refresh token: ' + session.getRefreshToken().getToken());
}); 注:以上示例代码仅适用于Node.js,如果你使用其他编程语言,请查看相应的AWS Cognito文档来获取更多示例代码。