Java 使用google帐户对具有后端的本机桌面应用程序进行身份验证
我有一个既有后端又有前端(java)的应用程序。我需要有用户身份验证,但我不希望自己处理大部分。所以我想我可以让用户通过他们的谷歌账户进行身份验证 后端部分主要是实现的,它可以在浏览器中正常工作:Java 使用google帐户对具有后端的本机桌面应用程序进行身份验证,java,authentication,spring-security,google-oauth,Java,Authentication,Spring Security,Google Oauth,我有一个既有后端又有前端(java)的应用程序。我需要有用户身份验证,但我不希望自己处理大部分。所以我想我可以让用户通过他们的谷歌账户进行身份验证 后端部分主要是实现的,它可以在浏览器中正常工作: 我尝试导航到我服务器的URL,浏览器被重定向到google登录页面 我登录,浏览器被重定向回我的服务器,这次是使用身份验证信息(某种令牌?),我得到一个响应 但我很难从桌面应用程序中设置它。我希望该应用程序有一个登录按钮,当按下时,会打开系统浏览器中的谷歌登录页面供用户登录。如果登录成功,桌面客户端可
我看了谷歌的,它告诉我,这是适合我的用例的解决方案吗?还是对于只有前端且所有数据都保存在桌面应用程序中的应用程序?我不完全确定它是否安全,是否符合最佳做法,但我找到了一个解决方案。我以自己的方式使用了这个想法
https://myserver.org:8443/signin?loopback_port=54321
/signin
端点,以返回重定向到/signn2
(再次使用环回端口
参数)。来自/signin
的重定向将在浏览器的cookie中设置JSESSIONID
,当我们在/signn2
中收到请求时,我们可以读取该JSESSIONID
/signin2
中获得请求时,我们使用环回端口和jsessionid构建指向桌面应用程序上http侦听器的重定向url。JSSessionID将作为查询参数包含。因此浏览器被重定向到http://localhost:54321/?JSESSIONID=...
JSESSIONID
,并在随后发送到服务器的请求中使用该请求。有了这个cookie,服务器将桌面应用程序的请求与之前完成的身份验证相关联我不完全确定它是否安全,是否符合最佳实践,但我找到了一个解决方案。我以自己的方式使用了这个想法
https://myserver.org:8443/signin?loopback_port=54321
/signin
端点,以返回重定向到/signn2
(再次使用环回端口
参数)。来自/signin
的重定向将在浏览器的cookie中设置JSESSIONID
,当我们在/signn2
中收到请求时,我们可以读取该JSESSIONID
/signin2
中获得请求时,我们使用环回端口和jsessionid构建指向桌面应用程序上http侦听器的重定向url。JSSessionID将作为查询参数包含。因此浏览器被重定向到http://localhost:54321/?JSESSIONID=...
JSESSIONID
,并在随后发送到服务器的请求中使用该请求。有了这个cookie,服务器将桌面应用程序的请求与之前完成的身份验证相关联