我正在开发一个Web应用程序(使用带有spark java框架的Java),允许用户从他在fitbit中存储的actitivities中检索信息。 要做到这一点,我使用隐式授权流程来获取访问令牌,但我不知道如何从重定向网址中检索此内容(它类似于" {{3我要做客户端或者我可以检索服务器端吗?") 如果我尝试使用request.url()或request.raw()来检索(在java端使用访问令牌的URL).getRequestURI()我只得到没有包含访问令牌的片段的URL,例如,授权fitbit用http://localhost:4567/oauth之类的网址重定向我,我无法在"#"之后检索该部分。包含我需要的东西。 感谢您的帮助,对不起我的英语
答案 0 :(得分:0)
如果您希望后端获取访问令牌,则应使用授权代码授予流程,而不是隐式流程。隐式流使用重定向URL(在#后面)的哈希部分来传输令牌,该令牌保留在浏览器中而不会到达后端。使用Auth代码授予流程,您可以获得代码作为查询参数,因此您可以使用Java Servlet API或基于它构建的一些Spark API轻松读取它。然后,您需要使用OAuth2 /token
端点交换访问令牌的宏代码。