【发布时间】:2015-08-28 17:50:34
【问题描述】:
在 OAuth 2 中,当您添加客户端时,您会给它一个重定向 url。
例如
http://example.com
但是当您为用户请求授权时,您还会将重定向 url 作为请求的一部分传回。
例如
authorize?response_type=code&client_id=CLIENT_ID&return_url=http%3A%2F%2Fexample.com%2Fsecure%2F&state=STATE
我的问题基本上是,针对客户端存储重定向 url 有什么意义?这只是为了确保您只重定向到原始网站而不是作为请求的一部分传递的任何内容吗?
在任何情况下,我发现作为请求的一部分发送的返回 url 参数不被遵守,例如http://example.com/secure 并且始终使用针对客户端保存的重定向 url...因此您不会被重定向到原始请求,而只会被重定向到主页。
应该发生什么?为什么我们有两次返回 url?
不应该只是针对客户端存储的域,然后使用传回的返回 url,然后比较域的安全性吗?
【问题讨论】: