【问题标题】:URL redirected to provides GET parameters with # (and not ?)重定向到的 URL 提供带有 # 的 GET 参数(而不是?)
【发布时间】:2014-01-21 23:27:34
【问题描述】:

根据 Dropbox API 文档,对https://www.dropbox.com/1/oauth2/authorize 的 GET 将呈现 Dropbox 身份验证网站,并且在身份验证时会将客户端重定向到指定的重定向 URI,并将访问令牌作为 GET 参数。但是,重定向到的 URL 使用 #(而不是?)提供其 GET 参数。

例如,如果我输入https://www.dropbox.com/1/oauth2/authorize?response_type=token&client_id=foo&redirect_uri=https://www.httpsnow.org/,我将得到https://www.httpsnow.org/#access_token=foo&token_type=bearer&uid=bar(注意# 符号的存在和? 符号的缺失查询字符串的开头)。

有什么想法吗?

【问题讨论】:

    标签: query-string dropbox-api


    【解决方案1】:

    您正在使用 OAuth 2“令牌流”(response_type=token)。令牌流主要是为移动和基于 JavaScript 的应用程序设计的。正如the documentation 所说:

    令牌流

    这些参数在 URL 片段中传递(在 # 之后 网址):

    听起来您想改用“代码流”(response_type=code):

    代码流

    这些参数在查询字符串中传递(在? 网址):

    【讨论】:

    • 不敢相信我在文档中错过了这一点。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 2019-12-18
    • 2012-03-23
    • 1970-01-01
    • 2014-06-16
    相关资源
    最近更新 更多