方形连接重定向似乎在重定向网址中有一个额外的,不需要的,octothorpe(#)字符。
... / myservicepoint.com?#access_token=Eblah-blah-blah&token_type=bearer&merchant_id=secretID&response_type=token
这完全破坏了从URL获取访问令牌的PHP功能$ _REQUEST ['#access_token']
这是什么?文档没有提到这一点。
答案 0 :(得分:2)
感谢您在文档中指出这一差距。如果您在对Authorize端点的请求中指定了response_type=token
,则对重定向网址的请求的查询字符串确实会转义为带有#
符号的片段。这是一种安全措施,可防止记录您的应用程序的访问令牌。
有两种方法可以解决您的问题:
解析片段字符串以提取访问令牌
在您对Authorize端点的请求中指定response_type=code
而不是response_type=token
。这需要对Obtain Token端点的后续请求,但提供给重定向网址的查询字符串将不进行转义。
注意:不要从应用程序的客户端(例如,移动应用程序或网页)向Obtain Token端点发送请求。该请求需要您的应用程序机密,该机密应该由应用程序的后端服务器存储和提供。