【发布时间】:2017-08-13 05:58:19
【问题描述】:
我正在实现一个客户端和服务器在不同域上运行的 Web 应用程序。
我已经在服务器端使用 Spring Security 实现了基于谷歌的身份验证。
现在,当客户端调用登录 API 时,服务器会将其重定向到 google 页面进行身份验证。认证完成后,服务器需要向客户端发送access_token。
由于客户端位于不同的域中,我无法使用 response.sendRedirect(baseUrl) 在标头或 cookie 中传递 access_token
在这种情况下有没有其他方法可以处理基于令牌的身份验证。
【问题讨论】:
-
这是一个非常好的问题。我有一些链接可能有帮助,也可能没有帮助developers.google.com/identity/sign-in/web/backend-authdevelopers.google.com/identity/protocols/CrossClientAuth
-
不确定 Google 的实施情况。是否有重定向 URI 的选项?如果是这样,访问令牌将作为参数在地址中返回。
-
@DaImTo 感谢您的输入,但此链接建议在我寻找相反方向时将令牌从客户端传递到服务器的方式。
-
@Eddie Google 身份验证提供重定向,但 cookie 是为服务器域设置的,因为我的请求是从服务器触发的。然而,我想将它重定向到不同域上的客户端
-
@PoorviNigotiya 我知道这是我最好的猜测。我能想到的唯一一件事是您必须让您的客户询问服务器服务器无法将其发送给客户端它没有关于您的客户端的信息。
标签: java spring authentication google-oauth access-token