찾다
백엔드 개발PHP 튜토리얼怎样处理第三方api登陆?!

现在腾讯、新浪、豆瓣、百度等都支持第三方登陆,允许第三方网站访问其用户信息。虽然这样减少了本网站用户的注册步骤,但发觉在第三方api的用户信息处理上有点麻烦。
一般情况下,本地网站都要求首次利用第三方登陆的用户进行本地绑定,要么绑定已有本地帐号,要么要求用户再填写一些本地信息,比如昵称等。
我原先将本地用户注册的mysql表与第三方api的mysql表分开。本地用户表为:

userid username password gender registertime loginnum registeraddress ip ...

因为第三方api返回的信息不尽相同,因此只能贮存一些基本信息,绑定表与本地表相比则有所改变:
userid nick figureurl api_supplier ip loginnum  ...

但这样一来,一个访问用户则需要区别对待,分别处理,后面的事情一大堆,比如权限等。凌乱了。。。

我想问下csdner怎样处理第三方登陆,包括mysql与php的处理。。。


回复讨论(解决方案)

因为,本地表与第三方的userid列值可能存在冲突,也不可能合并吧?!

因为,本地表与第三方的userid列值可能存在冲突,也不可能合并吧?!
要么在本地表的最前面加一个auto_increment的id列,但这样有些列因为用不到则可能浪费掉

本来是各自独立的系统,合并了就没有“第三方”了

每个API塔都有返回一个唯一值的,可以用他的这个唯一值区分,不一定要分表

本来是各自独立的系统,合并了就没有“第三方”了
我知道,问题是第三方登陆以后要分配一个session给它吧,如果与本地用户系统区分处理,岂不是又要增加一套程序处理?

每个API塔都有返回一个唯一值的,可以用他的这个唯一值区分,不一定要分表
如果只是引用第三方登陆,没有进行本地绑定,则这个“外来”账号没有本地积分、空间等数据。。。

变通一下啊,插入会员表啊,用户名就随机的,这样不就有账号了么

变通一下啊,插入会员表啊,用户名就随机的,这样不就有账号了么
谢谢,我知道,但总觉得有不方便的地方

有什么不方便?因为使用第三方登录的就用第三方登录,有些用户习惯用第三登录,,用绑定的时候是方便原有的用户或者想使用2种方式的用户使用的,还有一个因素是假如第三方的登录出现问题时,用户如果想登录还可以通过绑定的账号来登录,不会造成因为第三方登录不能登录时而影响了本站用户的使用

有什么不方便?因为使用第三方登录的就用第三方登录,有些用户习惯用第三登录,,用绑定的时候是方便原有的用户或者想使用2种方式的用户使用的,还有一个因素是假如第三方的登录出现问题时,用户如果想登录还可以通过绑定的账号来登录,不会造成因为第三方登录不能登录时而影响了本站用户的使用
不觉得要对程序进行很多修改昧?!
我先看看吧

我想好了,所有第三方api登陆都与本地user表关联绑定,用户通过第三方登陆时分配一个userid给他,user表最后增加一个thirdPartyAPIid,表示来源,当然,本地用户的这列值为null。这样就好处理多了。
user表

userid username email password ... third_party_api_id

third_party_api表
id userid username email ... provider

user表third_party_api_id与third_party_api表的id关联,这样,无论通过何种方式登陆都能控制用户行为 。

呵呵,我告诉你的思路是没问题的,我做这个很久了,而且根本不需要修改程序的,就只是做好第三方接口登陆,给予与本地一样的cookie或者session就可以了

呵呵,我告诉你的思路是没问题的,我做这个很久了,而且根本不需要修改程序的,就只是做好第三方接口登陆,给予与本地一样的cookie或者session就可以了
多谢,就这么定了,我现在正在看各网站提供的第三方登陆接口说明。

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP 세션에 어떤 데이터를 저장할 수 있습니까?PHP 세션에 어떤 데이터를 저장할 수 있습니까?May 02, 2025 am 12:17 AM

phpsessionscanstorestrings, 숫자, 배열 및 객체 1.Strings : TextDatalikeUsernames.2.numbers : integorfloatsforcounters.3.arrays : listslikeshoppingcarts.4.objects : complexStructuresThatareserialized.

PHP 세션을 어떻게 시작합니까?PHP 세션을 어떻게 시작합니까?May 02, 2025 am 12:16 AM

tostartAphPessession, us

세션 재생이란 무엇이며 보안을 어떻게 개선합니까?세션 재생이란 무엇이며 보안을 어떻게 개선합니까?May 02, 2025 am 12:15 AM

세션 재생은 세션 고정 공격의 경우 사용자가 민감한 작업을 수행 할 때 새 세션 ID를 생성하고 이전 ID를 무효화하는 것을 말합니다. 구현 단계에는 다음이 포함됩니다. 1. 민감한 작업 감지, 2. 새 세션 ID 생성, 3. 오래된 세션 ID 파괴, 4. 사용자 측 세션 정보 업데이트.

PHP 세션을 사용할 때 몇 가지 성능 고려 사항은 무엇입니까?PHP 세션을 사용할 때 몇 가지 성능 고려 사항은 무엇입니까?May 02, 2025 am 12:11 AM

PHP 세션은 응용 프로그램 성능에 큰 영향을 미칩니다. 최적화 방법은 다음과 같습니다. 1. 데이터베이스를 사용하여 세션 데이터를 저장하여 응답 속도를 향상시킵니다. 2. 세션 데이터 사용을 줄이고 필요한 정보 만 저장하십시오. 3. 비 차단 세션 프로세서를 사용하여 동시성 기능을 향상시킵니다. 4. 사용자 경험과 서버 부담의 균형을 맞추기 위해 세션 만료 시간을 조정하십시오. 5. 영구 세션을 사용하여 데이터 읽기 및 쓰기 시간의 수를 줄입니다.

PHP 세션은 쿠키와 어떻게 다릅니 까?PHP 세션은 쿠키와 어떻게 다릅니 까?May 02, 2025 am 12:03 AM

phpsessionsareser-side, whilecookiesareclient-side.1) sessions stessoredataontheserver, andhandlargerdata.2) cookiesstoredataonthecure, andlimitedinsize.usesessionsforsensitivestataondcookiesfornon-sensistive, client-sensation.

PHP는 사용자 세션을 어떻게 식별합니까?PHP는 사용자 세션을 어떻게 식별합니까?May 01, 2025 am 12:23 AM

phpidifiesauser의 sssessionusessessioncookiesandssessionids.1) whensession_start () iscalled, phpgeneratesauniquessessionStoredInacookienamedPhpsSessIdonSeuser 'sbrowser.2) thisidallowsphptoretrievessessionDataTromServer.

PHP 세션을 확보하기위한 모범 사례는 무엇입니까?PHP 세션을 확보하기위한 모범 사례는 무엇입니까?May 01, 2025 am 12:22 AM

PHP 세션의 보안은 다음 측정을 통해 달성 할 수 있습니다. 1. Session_REGENEREAT_ID ()를 사용하여 사용자가 로그인하거나 중요한 작업 일 때 세션 ID를 재생합니다. 2. HTTPS 프로토콜을 통해 전송 세션 ID를 암호화합니다. 3. 세션 _save_path ()를 사용하여 세션 데이터를 저장하고 권한을 올바르게 설정할 보안 디렉토리를 지정하십시오.

PHP 세션 파일은 기본적으로 어디에 저장됩니까?PHP 세션 파일은 기본적으로 어디에 저장됩니까?May 01, 2025 am 12:15 AM

phpsessionfilesarestoredInTheRectorySpecifiedBysession.save_path, 일반적으로/tmponunix-likesystemsorc : \ windows \ temponwindows.tocustomizethis : 1) austession_save_path () toSetacustomDirectory, verlyTeCustory-swritation;

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기