> 백엔드 개발 > PHP 튜토리얼 > 这里的googleqqsinagithub等登录模块,是怎么实现的?

这里的googleqqsinagithub等登录模块,是怎么实现的?

WBOY
풀어 주다: 2016-06-06 20:49:00
원래의
1168명이 탐색했습니다.

这里的google\qq\sina\github等登录模块,是怎么实现的?

有没有相关PHP代码整合分享?谢谢~

回复内容:

这里的google\qq\sina\github等登录模块,是怎么实现的?

有没有相关PHP代码整合分享?谢谢~

这种借用第三方用户信息登录的本质还是需要在自己网站创建一个账号来登录,只不过这个账号相关信息(用户名等)是系统来创建。具体是实现是这样的:创建2张表,一张就是记录自己网站注册用户信息表,另外一个用来记录第三方登录成功返回的用户唯一标示符和用户信息表中的ID的对应关系:

<code>userinfo表:userid,email,username,password; 
partner表:userid,partner_userid,partner_type。
</code>
로그인 후 복사

partner表中的userid字段与表userinfo中的userid字段对应,partner_userid是第三方接口登录之后,第三方返回的用户ID,partner_type是第三方类型(qq,gmail,github,weibo 等等)。 用户通过第三方登录成功之后,返回一个partner_id给你的网站,你通过这个partner_idpartner_typepartner表去查找是否存在记录,如果存在,则获取对应记录的userid,通过这个userid登录系统。如果不存在,则系统自动创建一个用户,将信息插入到userinfo表,然后将useridpartner_id插入到表partner.

其实我们使用的是标准的php oauth库实现的

这是oauth 1.0的扩展 http://pecl.php.net/package/oauth

这是oauth 2.0的库 http://code.google.com/p/oauth2-php/

具体用法参考文档和开放平台的文档即可

关键词:OpenID

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿