【问题标题】:How to use Google Service Account and Google API to validate G-Suite User's Password against its user ID如何使用谷歌服务账户和谷歌 API 来验证 G-Suite 用户的密码和用户 ID
【发布时间】:2020-04-29 18:50:44
【问题描述】:

我正在编写一个节点服务器,我在其中使用 Google 项目和服务帐户来管理该 G-Suite 帐户中的用户。 由于服务帐户是在启用了管理员角色的域范围内委派的,是否可以使用 G-Suite 用户 ID 验证 G-Suite 用户的密码?如果可能的话,我应该从我的节点服务和服务帐户中使用什么 API? 如果不直接支持上述内容,我可以考虑使用哪些替代方法来实现我的用例(用例是验证来自后端服务的用户凭据)。 请帮忙。

谢谢, 斯里尼。

【问题讨论】:

    标签: javascript node.js google-cloud-platform google-api service-accounts


    【解决方案1】:

    我不知道有任何公共或私有 API,您可以将来自任何 Google 服务的用户 ID 和帐户密码结合起来做任何事情。

    拥有域范围的授权来管理/访问用户的帐户与访问他们的登录凭据不同。

    不要提示用户输入他们的 Google 帐户密码。不要尝试暴力破解或使用密码字典来猜测用户密码。 Google 安全服务会检测到这一点,然后您将需要解决另一个级别的问题。

    【讨论】:

      【解决方案2】:

      您将如何使用服务帐户验证用户密码,即使密码字段可供您使用但它不是,因为那会很糟糕,当时它已经被插入并且用户会继续前进。在告诉他们密码错误的事实后,您是否要向他们发送电子邮件?

      他们输入密码的应用程序应该测试密码是否有效。由于这是他们的谷歌帐户,那么它可能已经由谷歌完成。

      【讨论】:

      • @DalmTo,想一想,像 Jump cloud 这样的第三方 SSO 如何在向他们注册时验证 Google 的用户凭据。
      • 我真的希望您没有将输入谷歌密码的用户登录到您的应用程序中。
      • @Srinivasan - 他们没有。用户登录其 Google 帐户并向 SSO 授予权限。 SSO 看不到、访问或知道用户的登录凭据。
      • 第三方只从身份服务器取回您未找回密码的用户身份(资料)的基本用户信息。
      • @DalmTo 和@Johnhanley,在这种情况下,验证用户表单后端节点服务器的默认或标准方式是什么,请提供一些参考。所有这些方式都会涉及用户干预吗?我更喜欢不涉及用户干预的方式。
      猜你喜欢
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 2020-12-16
      • 1970-01-01
      • 2021-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多