我试图让我的API网关与Cognito用户池授权程序一起工作,但我似乎无法让它工作。我目前没有使用任何SDK。一些细节 - 对于Cognito池,我有设置ID提供者作为cognito用户池,Oauth flow' impilicit grant' &安培;范围为' openid'。创建了一个也生成了客户端密钥的应用程序(&域)。电子邮件是唯一的字段。 - 在API网关上,我为cognito auth&添加了相同的用户池。标题为'授权'。没有添加范围且没有令牌验证。
我使用Cognito的默认登录页面登录&检索' id_token' (登录后显示在URL中)&在邮递员中使用它来激活我的API到未授权的#39;我在API网关授权器测试工具&中使用相同的标记。我仍然未经授权。很明显,我的标记就是问题。
我已经尝试过oauth flow&的各种组合。范围&使用lambda集成的api网关创建另一个具有模拟集成的网关。还创建了不同的用户池和应用&没有客户机密,也是同样的错误。
上面没有工作我会好的(相信我的错误),但同样的事情适用于尝试过的同事。唯一的区别是,在登录后,他指向一个本地主页,在那里他捕获了相同的“id_token”#39; &安培;成功地使用该令牌命中API网关。
所以我无法弄清楚区别是什么?是不是应该按照我的方式工作?
当我从邮递员那里点击API时,一些cloudwatch访问日志。 (也试过卷曲)
{ " requestId":" bb9ba6a2-6c25-11e8-b024-530b33bce48d", " ip":" x.x.x.x", "来电":" - ", "用户":" - ", " requestTime":" 09 / Jun / 2018:20:43:15 + 0000", " httpMethod":" GET", " resourcePath":" / test", " status":" 401", " protocol":" HTTP / 1.1", " responseLength":" 26", " authProvider":" - ", " authType":" - ", " claimProperty":" - ", "属性":" - ", " principalId":" - " }
感谢。任何帮助表示赞赏。