Oauth 2.0似乎是支持外部身份验证的最佳工具。然而,经过许多小时的网络搜索,我发现在使用PHP时,没有简单的方法可以开始使用它。或者(希望如此)我只是没有以正确的方式去寻找。
以下是我想要的:
- 在我的网站上实现外部身份验证的方法
- 我不寻找任何外部资源(所以我不需要照片、帖子、推特或任何来自外部网站的东西——我只想用它为用户提供一种注册/登录的方式,而无需创建另一个密码)
- 支持多个网站,而无需我查看每个网站的复杂文档。最好支持像谷歌、脸书和雅虎这样最受欢迎的网站
- 我认为有两个特性比其他任何特性都重要:简单性(文件越少,依赖关系越少,越容易实现越好)和可靠性(最好是一个受欢迎的存储库,很多人都在使用,而不是从某个不知名的网站下载的zipfile)
I认为OpenIDConnect是我所需要的,但OpenID网站在其网站上列出了复杂的OpenIDServer解决方案,而不是PHP软件下的客户端(请参阅推荐的库)。在早期,LightOpenID提供了我所需要的很多东西。但现在这已经过时了。有LightOpenID的继任者吗?
虽然LightOpenID没有直接的后续支持OpenID Connect,但OpenID Connect有很多PHP实现,其中一个似乎在Github上做得很好:https://github.com/ivan-novakov/php-openid-connect-client但根据谷歌的说法,还有更多,如果你将自己限制在基本客户档案中,当然也不是不可能推出自己的:http://www.thread-safe.com/2012/07/how-simple-is-openid-connect-basic.html
这里有一个存储库,它提供了轻量级的仅限谷歌的身份验证:https://github.com/PenguinProtocols/Basic-OpenID-Connect-Google
设置起来非常容易,文档也非常清晰。