Google api Google Apps Premium Edition:使用哪种身份验证机制?

Google api Google Apps Premium Edition:使用哪种身份验证机制?,google-api,google-apps,google-authentication,Google Api,Google Apps,Google Authentication,我们公司有一个web应用程序,只供员工内部使用。我们还有谷歌应用程序高级版。我们希望这样,我们的员工可以使用他们已经拥有的Google Apps帐户登录到我们的私有web应用程序 要求:我们希望显示自己的登录表单。我们不想通过互联网以明文形式传递电子邮件/密码 我们应该使用哪种身份验证机制来实现这一点 注意:我们的应用程序是用PHP编写的,使用Zend Framework(如果需要的话)。我将研究OpenID和您的域用户的一些组合(即,只允许那些位于domain.com的用户登录) 他们还有P

我们公司有一个web应用程序,只供员工内部使用。我们还有谷歌应用程序高级版。我们希望这样,我们的员工可以使用他们已经拥有的Google Apps帐户登录到我们的私有web应用程序

要求:我们希望显示自己的登录表单。我们不想通过互联网以明文形式传递电子邮件/密码

我们应该使用哪种身份验证机制来实现这一点


注意:我们的应用程序是用PHP编写的,使用Zend Framework(如果需要的话)。

我将研究OpenID和您的域用户的一些组合(即,只允许那些位于domain.com的用户登录)

他们还有PHP和其他语言的库,您可以利用这些库来实现这一点

编辑:


当涉及到整合谷歌应用程序和内部使用的私人系统时,我们只有两个选择

  • 使用谷歌作为认证中心。修改私有系统以在谷歌服务器上进行身份验证。我们可以使用OpenID或AuthSub。有关更多信息,请查看和
  • 使用专用系统作为身份验证中心。在这种情况下,我们必须在私有服务器中实现SAML协议,并配置Google Apps的SSO设置。查看更多信息
  • 使用第一种方法更容易实现SSO,因为已经有很多OpenID库。但是,正如您在需求中所描述的,您希望使用自己的登录表单。所以我想你必须采用第二种方法

    顺便说一句,如果您的私有系统必须从Google获取或设置信息,您可能需要使用OAuth进行授权。有关更多信息,请参阅。

    使用API,它完全符合您的要求:允许您验证用户名和密码。(链接指向provisioning API doco,但与此无关)

    专业人士:

    • 您可以使用自己的登录表单
    缺点:

    • 谷歌应用程序无法实现SSO,即已经在应用程序中的用户将被提示再次登录(您没有提到这是一项要求,但这似乎是一件合理的事情)
    • 谷歌不会喜欢你(他们正试图阻止编程)
    • 你会偶尔得到验证码测试,你需要向你的用户展示
    OpenID特别阻止您显示自己的登录页面,所以如果这是一个硬要求,编程登录确实是您唯一的选择

    走SSO路线可以让你做几乎任何事情,但是如果要让一个应用程序以更好的方式进行身份验证,对整个域进行身份验证可能有点过分了?如果你真的想走这条路线,请查看SimpleSAMLphp