微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

由于查询字符串之前的片段标识符而无法访问Reddit Api隐式授予流

如何解决由于查询字符串之前的片段标识符而无法访问Reddit Api隐式授予流

我一直在努力寻找该问题的现有答案,因为我感觉自己犯了一个愚蠢的错误,所以请让我知道是否已经有人问过这个问题,但我还没有找到。

我正在尝试制作一个需要访问OAuth Reddit API的小应用程序,并且由于已安装,因此必须通过隐式授权流程来实现。

这是我要使用的过程:

我正在让用户打开此URL(已删除私人信息):

https://www.reddit.com/api/v1/authorize?client_id=[client_id]&response_type=token&state=[random_state_data]&redirect_uri=http://localhost:3000&scope=read

但是,当用户在授权后被重定向时,它会转到如下所示的URL:

http:// localhost:3000 /#access_token = [token]&token_type = bearer&state = [random_state_data]&expires_in = 3600&scope = read

问题是访问令牌在查询中?字符串,位于片段标识符(#)之后,因此我无法从端口3000上托管的服务器访问它。我在处理身份验证方面犯了一个错误吗?还是更微妙?

在此先感谢您的帮助,如果您需要更多信息,或者我在问这个问题时出错了,请告诉我。

解决方法

事实证明这是手册中缺少某些内容的经典案例。

关于Reddit的隐式授权流程的信息:

对此请求的响应(如果成功)将以以下值形式编码到片段中:

这是我完全没有意识到的完全有意的行为。我想我只需要做一些Javascript魔术就能将令牌从片段中获取到我的服务器。

对不起,如果我浪费任何人的时间。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。