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

发布于 2024-09-08 02:34:22 字数 257 浏览 9 评论 0原文

我们公司有一个仅供我们员工内部使用的网络应用程序。我们还有 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

红尘作伴 2024-09-15 02:34:22

我会研究 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

盛夏尉蓝 2024-09-15 02:34:22

当谈到集成 Google Apps 和内部使用的私有系统时,我们只有两个选择。

  1. 使用Google作为认证中心。修改私有系统以在 Google 服务器上进行身份验证。我们可以使用 OpenID 或 AuthSub。检查 http://code.google.com/apis/accounts/docs/OpenID .htmlhttp://code.google.com/apis /accounts/docs/AuthSub.html 了解更多信息。
  2. 使用私有系统作为认证中心。在这种情况下,我们必须在专用服务器中实施 SAML 协议并配置 Google Apps 的 SSO 设置。检查 http://code.google.com/googleapps/domain/sso/saml_reference_implementation .html 了解更多信息。

使用第一种方法更容易完成 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.

  1. Use Google as the authentication center. Modify the private system to authenticate at Google's server. We could use OpenID or AuthSub. Check http://code.google.com/apis/accounts/docs/OpenID.html and http://code.google.com/apis/accounts/docs/AuthSub.html for more information.
  2. Use the private system as the authentication center. In this case, we have to implement SAML protocol in the private server and configure Google Apps's SSO settings. Check http://code.google.com/googleapps/domain/sso/saml_reference_implementation.html for more information.

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.

脸赞 2024-09-15 02:34:22

使用 ClientLogin API,它完全可以满足您的需求:允许您验证用户名和密码。 (该链接转到配置 API doco,但这与此处无关)

优点:

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

缺点:

  • 您无法通过 Google Apps 获得 SSO,即系统会提示已经在 Apps 中的用户再次登录(您没有提到作为一个要求,但这似乎是一个合理的事情)
  • 谷歌不会喜欢你(他们试图阻止ProgrammaticLogin。
  • 你会偶尔得到验证码测试,你需要向你的用户展示。

特别是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:

  • you get to use you own login form

Cons:

  • you don't get SSO with Google Apps, i.e. users already in Apps will be prompted to login again (you didn't mention that as a requirement, but it seems a reasonable thing to want)
  • Google won't like you (they're trying to discourage ProgrammaticLogin.
  • you will get occasional CAPTCHA tests you'll need to show your users.

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文