重定向URL中的额外不需要的octothorpe字符

时间:2014-08-22 13:18:16

标签: square-connect

方形连接重定向似乎在重定向网址中有一个额外的,不需要的,octothorpe(#)字符。

... / myservicepoint.com?#access_token=Eblah-blah-blah&token_type=bearer&merchant_id=secretID&response_type=token

这完全破坏了从URL获取访问令牌的PHP功能$ _REQUEST ['#access_token']

这是什么?文档没有提到这一点。

1 个答案:

答案 0 :(得分:2)

感谢您在文档中指出这一差距。如果您在对Authorize端点的请求中指定了response_type=token,则对重定向网址的请求的查询字符串确实会转义为带有#符号的片段。这是一种安全措施,可防止记录您的应用程序的访问令牌。

有两种方法可以解决您的问题:

  1. 解析片段字符串以提取访问令牌

  2. 在您对Authorize端点的请求中指定response_type=code而不是response_type=token。这需要对Obtain Token端点的后续请求,但提供给重定向网址的查询字符串将进行转义。

  3. 注意:不要从应用程序的客户端(例如,移动应用程序或网页)向Obtain Token端点发送请求。该请求需要您的应用程序机密,该机密应该由应用程序的后端服务器存储和提供。