使用response_type = code

时间:2018-01-21 16:08:46

标签: amazon-cognito

我花了很多时间在这里寻找解决方案但找不到解决方案。情况如下:

  • 我使用的是内置的Cognito UI
  • 当我使用response_type = code将我的应用程序重定向到UI时,我会很好地进入登录页面。当我输入我的凭据并点击"登录"对/ login cognito端点的post请求导致不允许405方法
  • 如果我使用response_type = token重定向我的应用程序,它会重定向到我的return_url而没有任何问题,但参数更难检索,因为它们是哈希参数而不是查询参数。

我实际上有点惊讶,因为文档似乎表明/ login端点只是GET:https://docs.aws.amazon.com/cognito/latest/developerguide/login-endpoint.html

我还是喜欢使用代码response_type。我在这里做错了吗?还有其他人有这个问题吗?我不认为我做任何不寻常的事情。我觉得在内置的ui流中只是破坏了某些东西。我确实发现我不应该使用内置的UI,但是我希望能够使用它,然后在可能的情况下更换它。

如果您需要更多信息,请告诉我,我很乐意提供。

编辑:如果我制作redirect_url google.com,它确实有效,这意味着它与我的应用和重定向有关,但基本上没有迹象表明出现了什么问题。任何人都知道在Cognito中哪里可以找到与这些类型的错误相关的任何类型的相关日志或信息?

1 个答案:

答案 0 :(得分:4)

好吧,这似乎是内置用户界面中的一个错误,我会将其归档到亚马逊。我终于想通了我发送的redirect_uri有一个尾随斜线,而我在Cognito中配置的那个没有尾随斜线。当我删除它时,它可以工作。

我认为这是一个错误的原因是因为通常当我传入无效的重定向时,UI会立即将我发送到包含该错误的页面。当唯一的区别是尾部斜杠时,我可以很好地完成登录流程,但是当尝试重定向回我的流程时,它会遇到405方法不允许的错误。

不确定是否有其他人会遇到这个非常奇怪的边缘情况,但希望如果你这样做会有所帮助。