Fitbit 访问令牌隐式授权流程
Fitbit access token Implicit Grant Flow
我正在开发一个 Web 应用程序(在 Java 中使用 spark java 框架),允许用户从存储在 fitbit 中的活动中检索信息。
为此,我使用隐式授权流来获取访问令牌,但我不知道如何从重定向 url 中检索它(类似于“http://localhost:4567/oauth”),我ve 做客户端还是我可以检索服务器端?
如果我尝试使用 request.url() 或 request.raw().getRequestURI() 检索(URL,访问令牌位于 java 端),我只会得到 URL 没有包含访问令牌的片段,例如,在授权 fitbit 使用 http://localhost:4567/oauth#access_token=xxxxxxxxxxxxxxxxxxxxx 之类的 url 重定向我之后,我无法检索“#”之后包含我需要的部分。
感谢您的帮助,对不起我的英语
如果您希望您的后端获得访问令牌,您应该使用授权码授予流程,而不是隐式流程。隐式流程使用重定向的散列部分 URL(# 后面)来传输令牌,该令牌保留在浏览器中,不会到达后端。通过授权代码授权流程,您可以获得一个代码作为查询参数,因此您可以使用 Java Servlet API 或构建在它之上的某些 Spark API 轻松读取它。然后您需要使用 OAuth2 /token
端点将 grand 代码交换为访问令牌。
我正在开发一个 Web 应用程序(在 Java 中使用 spark java 框架),允许用户从存储在 fitbit 中的活动中检索信息。 为此,我使用隐式授权流来获取访问令牌,但我不知道如何从重定向 url 中检索它(类似于“http://localhost:4567/oauth”),我ve 做客户端还是我可以检索服务器端? 如果我尝试使用 request.url() 或 request.raw().getRequestURI() 检索(URL,访问令牌位于 java 端),我只会得到 URL 没有包含访问令牌的片段,例如,在授权 fitbit 使用 http://localhost:4567/oauth#access_token=xxxxxxxxxxxxxxxxxxxxx 之类的 url 重定向我之后,我无法检索“#”之后包含我需要的部分。 感谢您的帮助,对不起我的英语
如果您希望您的后端获得访问令牌,您应该使用授权码授予流程,而不是隐式流程。隐式流程使用重定向的散列部分 URL(# 后面)来传输令牌,该令牌保留在浏览器中,不会到达后端。通过授权代码授权流程,您可以获得一个代码作为查询参数,因此您可以使用 Java Servlet API 或构建在它之上的某些 Spark API 轻松读取它。然后您需要使用 OAuth2 /token
端点将 grand 代码交换为访问令牌。