跨客户端身份服务器到客户端传递访问令牌

时间:2017-03-21 14:00:42

标签: java spring authentication google-oauth access-token

我正在实现一个Web应用程序,其客户端和服务器在不同的域上运行。

我已在服务器端使用spring security实现了基于Google的身份验证。

现在,当客户端调用登录API时,服务器会将其重定向到谷歌页面进行身份验证。完成身份验证后,服务器需要将access_token发送给客户端。

由于客户端位于不同的域中,我无法使用access_token

在标头或Cookie中传递response.sendRedirect(baseUrl)

在这种情况下,还有其他方法可以处理基于令牌的身份验证。

1 个答案:

答案 0 :(得分:0)

在扫描各种选项时,我遇到了两个解决方案:

  1. 链接显示如何将Cookie从一个页面设置为另一个页面 http://subinsb.com/set-same-cookie-on-different-domains

    在服务器端成功验证后,它会暂时重定向到本地屏幕,内部将按照上述链接中的说明调用客户端。

  2. 其他方式是 -
    要发出登录请求,客户端将弹出一个单独的窗口并传递secure_id和请求。此外,客户端临时存储此secure_id。 服务器完成身份验证后,会重定向到客户端页面,通知客户端关闭弹出窗口。

    关闭弹出窗口后,客户端可以使用已存储的secure_id从服务器请求访问令牌。