【问题标题】:Fitbit access token Implicit Grant FlowFitbit 访问令牌隐式授权流程
【发布时间】:2017-06-11 13:18:55
【问题描述】:

我正在开发一个 Web 应用程序(在 Java 中使用 spark java 框架),它允许用户从存储在 fitbit 中的活动中检索信息。 为此,我使用隐式授予流来获取访问令牌,但我不知道如何从重定向 url 中检索它(类似于“http://localhost:4567/oauth”),我必须做客户端或我可以检索服务器端吗? 如果我尝试使用 request.url() 或 request.raw().getRequestURI() 检索(在 java 端带有访问令牌的 URL),我只会得到没有包含访问令牌的片段的 URL,例如,在授权 fitbit 使用http://localhost:4567/oauth#access_token=xxxxxxxxxxxxxxxxxxxxx 之类的网址重定向我,但我无法检索“#”之后包含我需要的部分。 感谢您的帮助,对不起我的英语

【问题讨论】:

    标签: java oauth-2.0 spark-java fitbit


    【解决方案1】:

    如果您希望后端获取访问令牌,则应使用授权代码授予流程,而不是隐式流程。隐式流使用重定向 URL 的散列部分(# 后面)来传输令牌,该令牌保留在浏览器中并且不会到达后端。通过 Auth 代码授权流程,您可以获得一个代码作为查询参数,因此您可以使用 Java Servlet API 或基于它构建的一些 Spark API 轻松读取它。然后,您需要使用 OAuth2 /token 端点将大代码交换为访问令牌。

    【讨论】:

    • 好的,谢谢,目前我从 js 中检索了令牌,然后使用隐藏表单(带有用于自动提交的 js 脚本)传递给 servlet,但这不是最佳解决方案.我将改变方法,我将使用授权码授予流程。再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多