从服务器端的 # 片段获取 OAuth 2.0 访问令牌
Get OAuth 2.0 access token from # fragment on server side
我有一个 Jersey Grizzly REST 服务器 运行。现在我收到来自 Microsoft 的带有访问令牌的 URL,但是此访问令牌作为参数放置在 # 符号之后。
https://myURL.com/getToken/pathParam/#access_token=QWERwtrrgertWRDGTGHssef....
当我收到来自 MS 的请求时,我无法以任何方式读出访问令牌,因为它已被过滤掉。有没有我可以停止此操作并将令牌作为参数获取的配置?
从片段的外观来看,您似乎正在尝试完成 OAuth 流程。我看到的问题是,您正在尝试实现一个针对客户端(或更准确地说,用户代理端)的流程,然后尝试访问服务器上的片段,这意味着在用户代理端。
#access_token..
告诉我您正在尝试实施 Implicit Grant. This is not recommended if you have access to the more common Authorization Code Grant。不知道你用的是什么微软服务,如果他们提供Implicit Grant,那么他们应该也提供Authorization Code Grant,这实际上是所有Grant类型中最常见的。
如果你想坚持使用隐式授权,那么你需要实际处理客户端(用户代理)端的重定向,这意味着你要动手编写一些 Javascript 来回发令牌到服务器。你可以看一个例子 here.
我个人不会推荐它。你可以看看Jersey OAuth 2.0 client。它将有助于实施授权码流程。
我有一个 Jersey Grizzly REST 服务器 运行。现在我收到来自 Microsoft 的带有访问令牌的 URL,但是此访问令牌作为参数放置在 # 符号之后。
https://myURL.com/getToken/pathParam/#access_token=QWERwtrrgertWRDGTGHssef....
当我收到来自 MS 的请求时,我无法以任何方式读出访问令牌,因为它已被过滤掉。有没有我可以停止此操作并将令牌作为参数获取的配置?
从片段的外观来看,您似乎正在尝试完成 OAuth 流程。我看到的问题是,您正在尝试实现一个针对客户端(或更准确地说,用户代理端)的流程,然后尝试访问服务器上的片段,这意味着在用户代理端。
#access_token..
告诉我您正在尝试实施 Implicit Grant. This is not recommended if you have access to the more common Authorization Code Grant。不知道你用的是什么微软服务,如果他们提供Implicit Grant,那么他们应该也提供Authorization Code Grant,这实际上是所有Grant类型中最常见的。
如果你想坚持使用隐式授权,那么你需要实际处理客户端(用户代理)端的重定向,这意味着你要动手编写一些 Javascript 来回发令牌到服务器。你可以看一个例子 here.
我个人不会推荐它。你可以看看Jersey OAuth 2.0 client。它将有助于实施授权码流程。