当前正在尝试创建一些验收测试,以调用已通过Cognito隐式授权进行身份验证的api端点。
是否可以使用aws sdk和Cognito sdk请求访问密钥来调用我的api端点? 我无法通过aws文档和一般的互联网获得任何帮助。
我的验收测试在带有黄瓜和黄瓜的Java上运行。
答案 0 :(得分:0)
您可以通过Cognito API的initiateAuth
进行身份验证,以直接获取令牌。
https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html
默认的身份验证方式需要SRP。
如果需要,可以通过创建单独的应用客户端来测试并在该应用客户端的Enable username-password (non-SRP) flow for app-based authentication (USER_PASSWORD_AUTH)
设置中选中App Clients
来避免SRP开销。
您可能希望进行一些部署配置,以便此应用程序客户端仅在测试环境中可用。否则,您可以为应用程序客户端创建一个秘密。
除了USER_PASSWORD_AUTH
流之外,还有ADMIN_NO_SRP_AUTH
通过adminInitiateAuth
,它需要AWS密钥(也必须在“ App Client”设置中启用)。