我们公司的网络应用程序仅供员工内部使用。我们还有Google Apps专业版。我们希望这样做,以便我们的员工可以使用他们已有的Google Apps帐户登录我们的私人网络应用程序。
要求:我们想要显示自己的登录表单。我们不希望通过互联网以纯文本形式传递电子邮件/密码。
我们应该使用哪种认证机制来实现这一目标?
注意:我们的应用程序是使用Zend Framework以PHP编写的(如果重要的话)。
答案 0 :(得分:0)
我会研究OpenID和您的域用户的某些组合(即只允许domain.com上的用户登录)。
他们还拥有PHP和其他语言的库,您可以利用它们来实现这一目标。
编辑:
答案 1 :(得分:0)
在整合Google Apps和内部使用的私有系统时,我们只提供两种选择。
使用第一种方法更容易实现SSO,因为那里已经有很多OpenID库。但是,正如您在要求中所述,您希望使用自己的登录表单。所以我想你必须采用第二种方法。
顺便说一句,如果您的私人系统必须从Google获取或设置信息,您可能需要使用OAuth进行授权。有关详细信息,请参阅http://code.google.com/apis/accounts/docs/OAuth.html。
答案 2 :(得分:0)
使用ClientLogin API,它完全符合您的要求:允许您验证用户名和密码。 (链接转到配置API doco但这里不相关)
Pro的:
缺点:
OpenID专门阻止您显示自己的登录页面,因此如果这是一个很难的要求,程序化登录确实是您唯一的选择。
走SSO路线让你做几乎任何事情,但是对整个域进行身份验证可能会有点过分,以使一个应用程序以更好的方式进行身份验证?如果您真的想沿着这条路走下去,请查看SimpleSAMLphp。