0

我正在尝试在我的 java Web 应用程序中使用 Google OAuth2.0 身份验证机制。但是,我在这样做时遇到了一些基本挑战,为此我在这里寻求帮助-

我已经在 Google API 控制台中注册了我的应用程序,并将登录 url 重定向到我的本地主机应用程序以用于开发目的。在用户验证应用程序后,我正在尝试处理 google 在 servlet 中提供的访问令牌 - 但是,我看到来自 google 的 url 如下 - http: //local host:8080//loginProcess#access_token=ya29.AHS6ZQBN-4Snrj6P9i4xPxbCxLLkmbPf3Jc2Dj7eUA72FWIy4&token_type=Bearer&expires_in=3600 servlet 名称为“loginProcess”,请注意后面的 # - 哈希在请求参数中,我无法使用 request.getParameter("access_token") 在 java servlet 中检索它们;

我希望我的问题很清楚 - 如果没有,请让我知道我缺少的细节..

提前谢谢大家!

4

1 回答 1

0

这是客户端应用程序(在浏览器中运行的 JavaScript)的正常行为。我不知道这是否是您的实际情况,如果是这样,要处理响应,javascript是您唯一的选择,如文档中所述


如果没有,可能您需要将您的授权请求(场景)更改为Web 服务器应用程序,在这种情况下,您可以使用 处理响应request.getParameter("access_token"),这种授权的重要参数是response_type=code


此外,从安全角度来看,客户端(Web 浏览器)在检索文档时不应该向服务器发送 URI 片段,如规范中所述。片段标识符的功能与 URI 的其余部分不同:即,它的处理完全是客户端,没有服务器的参与。

于 2012-05-18T13:17:28.553 回答