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