这些Google登录方法有什么区别?

问题描述 投票:0回答:1

我的要求:

使用Google登录名作为我网站的唯一登录方法,通过google用户ID创建用户,在有效的Google登录名之后创建身份验证会话。

我看到有两种方法可以做到这一点:

  1. 标准Google文档

    ((步骤1)在前端https://developers.google.com/identity/sign-in/web/sign-in处获取ID令牌

    ((第2步)在后端https://developers.google.com/identity/sign-in/web/backend-auth中验证令牌ID

  2. 使用Spring Security OAuth函数

    https://dzone.com/articles/getting-started-with-google-sign-in-in-spring-boot

所以问题是,

  1. 我刚完成措施1,发现登录弹出窗口关闭后,前端的状态已更改。在此过程中,没有调用典型的OAuth2元素,例如redirect_uricodeaccess_token。那么,这是OAuth还是Google只是为我打包了所有内容,所以我看不到它们?

  2. 措施2更好吗?假设您不必处理id_tokenclient_id的泄漏?

spring-boot google-cloud-platform oauth-2.0 spring-security-oauth2 google-signin
1个回答
1
投票

涉及的角色不同:

  • [前端:涉及用户的Web OAuth2流。您请求带有redirect_uri的授权码,以在身份验证后重定向用户。然后针对IDP服务器验证此授权码(您需要一个客户端ID和一个客户端密码)。
  • [后端:带有密钥文件的隐式OAuth2流,用于身份验证,用于应用程序身份验证。此流程仅部署在后端服务器上,您绝对不必在网站前端共享您的密钥文件

编辑

随着您的更新,我不确定是否了解。 3个等效项

  • 纯OAuth流程
  • 如在function onSuccess()中看到的那样,当身份验证成功在弹出窗口中调用this example时,将调用Google包装
  • 弹簧靴包装。

最后,提供和要求提供相同的信息,在所有情况下,“泄漏”都是相同的。这只是包装上的偏好和习惯。

© www.soinside.com 2019 - 2024. All rights reserved.