我有一个CodeIgniter 2.1内部Web应用程序,它使用简单的共享密码(无用户名)进行身份验证。现在是时候解决这个问题了,理想情况下,使用我们公司的Google Apps帐户进行单点登录来验证特定的内部用户,并且将来允许外部用户使用其Google/Twitter/Facebook帐户进行身份验证。
所以问题是,我应该从哪里开始实现我上面想要的东西?
- Google SAML SSO for Google Apps?
- CodeIgniter OAuth 2.0 库?
- 别的?
我认为我仍然需要维护一个user_ids和电子邮件数据库,以记录谁可以使用网络应用程序,即使Google或其他人将验证他们的身份?
我的似乎是一个相当基本的用例,但我迷失在首字母缩略词的海洋中
是的,我会选择这个库 http://getsparks.org/packages/oauth2/versions/HEAD/show
Google是该库似乎支持的OAuth2提供商。您将从Google OAuth令牌中获得用户的电子邮件,如代码所示
$user = $provider->get_user_info($token);
一旦准备就绪,您将需要注册或某种邀请,以便当前用户与此新系统挂钩。
我会远离SAML,除非你有充分的理由使用它。 它是一种非常强大的协议,它不仅提供身份验证,还提供其他类型的安全断言。 但所有这些力量都伴随着相应的复杂性。 相比之下,OAuth 很简单。
我过去使用过SimpleSAMLphp,效果很好。 但它与其说是一个库,不如说是一个完整的 Web 应用程序。
我建议看看:http://www.jasny.net/articles/simple-single-sign-on-for-php/