Google Apps Premium Edition:使用哪种身份验证机制?
我们公司有一个仅供我们员工内部使用的网络应用程序。我们还有 Google Apps 专业版。我们希望我们的员工可以使用他们已有的 Google Apps 帐户登录我们的私人网络应用程序。
要求:我们想要显示我们自己的登录表单。我们不想通过互联网以纯文本形式传递电子邮件/密码。
我们应该使用哪种身份验证机制来实现这一目标?
注意:我们的应用程序是使用 Zend Framework 用 PHP 编写的(如果有的话)。
Our company has a web application that is only used internally by our employees. We also have Google Apps Premier Edition. We would like to make it so our employees can log into our private web application using the Google Apps account that they already have.
Requirements: We want to display our own login form. We don't want to pass the email/password in plain text through the internet.
Which authentication mechanism should we use to achieve this?
Note: our application is written in PHP using Zend Framework (if that matters).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我会研究 OpenID 和您的域用户的某种组合(即只让domain.com 上的用户可以登录)。
Google API
他们还提供适用于 PHP 和其他语言的库杠杆来实现这一目标。
编辑:
一些更多信息< /a>
I would look into some combination of OpenID and your domain users (i.e. only let those at domain.com can log in).
Google API
They also have libraries for PHP and other languages that you can leverage to make this happen.
EDIT:
Some more info
当谈到集成 Google Apps 和内部使用的私有系统时,我们只有两个选择。
使用第一种方法更容易完成 SSO,因为已经有一堆 OpenID 库了。但是,正如您在要求中所描述的,您希望使用自己的登录表单。所以我想你必须采用第二种方法。
顺便说一句,如果您的私有系统必须从 Google 获取或设置信息,您可能需要使用 OAuth 进行授权。请参阅 http://code.google.com/apis/accounts/docs/OAuth .html 了解更多信息。
When it comes to integrate Google Apps and an internally used private system, we simply have two options.
It is easier to accomplish SSO with the first method since there's already bunch of OpenID libraries out there. But, as you described in the requirements, you want to use your own login form. So I guess you have to go with the second method.
BTW, if your private system has to get or set information from Google, you may want to use OAuth for authorization. See http://code.google.com/apis/accounts/docs/OAuth.html for more information.
使用 ClientLogin API,它完全可以满足您的需求:允许您验证用户名和密码。 (该链接转到配置 API doco,但这与此处无关)
优点:
缺点:
特别是OpenID阻止您显示自己的登录页面,因此如果这是一个硬性要求,那么编程登录确实是您唯一的选择,
采用 SSO 路线可以让您执行几乎所有操作,但对整个域进行身份验证可能有点过分了 。让一个应用程序以更好的方式进行身份验证?如果您确实想走这条路,请查看 SimpleSAMLphp。
Use the ClientLogin API, it does exactly what you're after: allow you to verify username and password. (the link goes to provisioning API doco but that is not relevant here)
Pro's:
Cons:
OpenID specifically prevents you from displaying your own login page, so if that's a hard requirements, Programmatic Login is really your only choice.
Going the SSO route let's you do pretty much anything, but may be a bit of overkill to take on authentication for the whole domain to make one app authenticate in a nicer fashion? If you really want to go down this route, check out SimpleSAMLphp.