我在本网站上查看过大约50个问题,但没有一个真正提供最新或不需要第三部分插件的解决方案(我希望控制信息而不是给其他人访问我得到的信息)或完成。我会冒险发布它,然后交叉手指。
我见过更多但是我看到了一些:
所以我希望在我的网站上有 Facebook,Google和Twitter作为登录选项(显然,这是人们首选的社交登录方式的80%)。 如果我去 wiki.openid.net,你建议我使用哪个软件包以便于实现?你过去使用过哪一个?
另外,如果可能的话,您能解释一下如何实施建议的库吗?即,
这是对的吗?我不知道......
基本上一步一步的指南会很棒。我敢肯定,任何花时间回答这个问题的人都会获得大量积分,这是一个热门话题。
感谢您的帮助。
答案 0 :(得分:11)
因此,您希望在不使用第三方服务的情况下实施Google和Facebook / Twitter登录。这意味着您需要实施OpenID登录(针对Google)和OAuth(针对Facebook / Twitter)。
第一个OpenID。您可以为PHP下载LightOpenID一个很好的轻量级OpenID类。很容易实现。一些samplecode如何使用这个类。
// Set up your OpenID object
$openid = new LightOpenID('http://yourdomain.com');
$openid->returnUrl = 'http://yourdomain.com/after/login/user/goes/here';
$openid->identity = 'https://www.google.com/accounts/o8/id'; // OpenID provider URL
$openid->required = array('namePerson/friendly', 'contact/email');
// Step 1: Redirect the user to the OpenID provider
if (!$openid->mode) // If not authenticated
header('Location: ' . $openid->authUrl()); // Redirect to provider
// Step 2: User returned, sign the user into our application
if ($openid->validate()) {
// OpenID authentication is successful
// Sign in the user and read requested attributes
$attrArray = $openid->getAttributes();
}
这应该让你开始使用OpenID部分。 OpenID选择器只不过是身份URL的选择器。
然后实施OAuth登录以支持Facebook和Twitter登录。有一些关于如何实施Facebook和Twitter登录支持的文档。 对于Facebook,您应该阅读developer site on authentication它并不太复杂。 Twitter使用相同的协议,并且在此主题上也有nice documentation。
如果您不想自己实现它,请查看您可以在应用程序中包含的OAuth库,如socialoauth(支持两者)或twitteroauth(支持twitter)。谷歌将帮助您找到更多这样的图书馆。
刚开始使用库实现读取代码,注释和文档,如果卡住了就在StackOverflow上提问。 :)
答案 1 :(得分:0)
答案 2 :(得分:0)
嘿,还请查看此社交登录提供商OneAll。它很棒,易于使用。支持许多提供商。这是链接http://www.oneall.com/