【发布时间】:2020-05-15 12:30:02
【问题描述】:
我正在更新我的桌面应用程序(一个 Imgur 客户端),以便在用户授权访问该应用程序后使用本地 Web 服务器从浏览器捕获 redirect_url,以应对即将弃用的代码/PIN 身份验证方法。所以我在浏览器中启动 URL,用户接受,然后 Imgur 重定向到
http://localhost:7710/myapp?state=auth#access_token=....&expires_in= 等等
但是浏览器在 # 处截断 URL,所以所有变量都丢失了,我的应用只收到“state=auth”
来自 Imgur 的 API 文档:
response_type参数token:这个授权流程将 通过重定向直接返回access_token和refresh_token 您在注册时指定的 URL,以哈希查询的形式 字符串参数。例子: http://example.com#access_token=ACCESS_TOKEN&token_type=Bearer&expires_in=3600
代码和 pin 响应类型已被弃用,很快将不再使用 不再受支持。
如果用户授予,Imgur 会向您的应用程序返回一个访问令牌 您的应用程序请求的权限。访问令牌是 作为片段的一部分返回到您的应用程序 access_token 参数。由于一个片段(URL 之后的部分 #) 不发送到服务器,客户端javascript必须解析 片段并提取access_token参数的值。
显然他们没有考虑到桌面应用程序的这一点,还是我遗漏了什么?
【问题讨论】: