Projects/개인 project

소셜 로그인 db 설계

purple 2022. 3. 6. 16:20

Id | platform_type | access_token | email

-----------------------------------------------------------

0001 | kakao | katok-01 | test@gmail.com

 

 

https://stackoverflow.com/questions/4793302/database-structure-for-social-login-implementation

 

Database structure for social login implementation?

In my application, I have a "user" table that has the following structure. CREATE TABLE IF NOT EXISTS `users` ( `userId` int(10) unsigned NOT NULL auto_increment, `username` varchar(128) NOT N...

stackoverflow.com

stack overflow

CREATE TABLE IF NOT EXISTS `AuthenticationProvider` (

`ProviderKey` varchar(128) NOT NULL, // PK 제공 키 값

`userId` int(10) unsigned NOT NULL, // FK 기존 유저 키와 엮음

`ProviderType` enum('facebook','twitter', 'google') NOT NULL // 해당 플랫폼,

PRIMARY KEY (`ProviderKey`) )

ENGINE=MyISAM DEFAULT CHARSET=latin1;

 

 

** providerkey로 users 테이블에 행을 생성한 경우 password가 없을 경우가 생긴다. 

** 이를 위한 해결 방법 중 하나로 공통으로 사용되는 users 테이블과 소셜 로그인시, 받아 올 수 없는 정보를 담은 텡이블을 별도의 테이블로 분리하는 방법 등이 있을 수 있다.

 

 

ALTER TABLE social_logins ADD CONSTRAINT fk_login FOREIGN KEY(user_id) REFERENCES users (id);

ALTER TABLE golf_memo ADD CONSTRAINT fk_memo FOREIGN KEY(user_id) REFERENCES users (id);