未经身份验证的Cognito的API网关和Oauth身份验证

时间:2016-11-11 16:44:15

标签: aws-api-gateway amazon-cognito aws-sdk-ios

我们的移动应用程序使用未经身份验证的认知流来授权设备。我们对后端使用Oauth身份验证,后端需要持有令牌。获取此承载令牌,而不是在客户端上保存clientid / secret,我们计划为该Cognito用户池调用api网关,然后代理到将返回承载令牌的oauth服务提供商。客户端将使用此承载令牌进行进一步的后端呼叫。

我们测试了http代理,它在api网关控制台上运行良好。我们遇到的问题是授权人。我们的授权机制是cognito用户池。因此,要测试授权程序,控制台会要求提供身份令牌。我们不确定身份令牌是什么。尝试用cognitoId进行测试,使用aws iOS sdk获得的openToken用于未经身份验证的认知用户,其中没有一个可行。日志中的消息是“未经授权的请求:”

有人可以建议一个解决方案吗?

1 个答案:

答案 0 :(得分:1)

听起来你正在看的是联合身份生成的令牌。您是否在应用中设置了user pools?当您使用用户登录时,您将获得3个令牌 - 身份令牌,访问令牌和刷新令牌。这个id令牌是你需要的。这必然意味着未经验证将会有点棘手,因为你必须登录才能得到这个。