Flutter Amplify执行amplify init报错:请求签名不匹配求助
amplify init时的签名不匹配错误 当执行amplify init时遇到以下错误:
"The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method"
可以按以下步骤排查解决:
核对AWS凭证准确性
打开本地AWS凭证文件(macOS/Linux路径为~/.aws/credentials,Windows为%USERPROFILE%\.aws\credentials),检查aws_access_key_id和aws_secret_access_key是否无拼写错误、多余空格或特殊字符。也可以通过终端执行aws configure list命令,确认当前生效的凭证参数是否正确。确认IAM用户权限
确保用于配置Amplify的IAM用户拥有足够权限,测试阶段可直接附加AdministratorAccess-Amplify托管策略;生产环境建议遵循最小权限原则,配置包含amplify:*等必要操作的自定义策略。清除Amplify CLI缓存
先执行amplify logout清除CLI缓存的旧凭证,再重新运行amplify init重新完成配置。若无效,可直接删除CLI缓存目录:- macOS/Linux:
rm -rf ~/.amplify - Windows:
rmdir /s /q %USERPROFILE%\.amplify
- macOS/Linux:
验证区域与系统时间
检查AWS配置文件中的region字段是否与你计划创建Amplify资源的区域一致;同时确保本地系统时间与NTP服务器同步,时间偏差过大也会触发签名验证失败。排查网络环境
若处于代理网络下,确认代理未篡改请求头;可尝试切换至直连网络重新执行amplify init,排除网络因素干扰。
内容的提问来源于stack exchange,提问作者Shanmukha

