데이터베이스
[소셜로그인] 소셜 로그인을 위한 회원정보 테이블 구성
iwoohaha
2024. 11. 19. 17:10
반응형
테이블 이름은 users
컬럼 구성은 아래와 같다.
생성 스크립트(PostgreSQL)
CREATE TABLE public.users (
id serial NOT NULL,
provider_user_id varchar(255) NOT NULL,
provider varchar(50) NOT NULL,
email varchar(255) NULL,
name varchar(255) NULL,
profile_image_url varchar(255) NULL,
created_at timestamp with time zone DEFAULT now() NOT NULL,
updated_at timestamp with time zone DEFAULT now() NULL,
CONSTRAINT users_pk PRIMARY KEY (id),
CONSTRAINT users_pid_unique UNIQUE (provider_user_id)
);
COMMENT ON TABLE public.users IS '사용자';
-- Column comments
COMMENT ON COLUMN public.users.id IS '고유번호(자동증가)';
COMMENT ON COLUMN public.users.provider_user_id IS '정보제공자 고유 ID';
COMMENT ON COLUMN public.users.provider IS '정보제공자';
COMMENT ON COLUMN public.users.email IS '이메일 주소';
COMMENT ON COLUMN public.users.name IS '이름';
COMMENT ON COLUMN public.users.profile_image_url IS '프로파일 이미지 경로(URL)';
COMMENT ON COLUMN public.users.created_at IS '생성일시';
COMMENT ON COLUMN public.users.updated_at IS '최종수정일시';
구글 로그인 기능 사용시 구글이 제공하는 정보는
"sub" 의 값을 users.provider_user_id 컬럼에,
"name" 의 값을 users.name 컬럼에,
"picture" 의 값을 users.profile_image_url 컬럼에,
"email" 의 값을 users.email 컬럼에 저장하면 되겠다.
네이버 로그인 기능 사용시 네이버가 제공하는 정보는
"id" 의 값을 users.provider_user_id 컬럼에,
"profile_image" 의 값을 users.profile_image_url 컬럼에,
"name" 의 값을 users.name 컬럼에 저장하면 되겠다.
이미 사용중인 member 테이블은 diary 를 사용하기 위해서 가입한 정보(이메일)를 저장하는 용도로 변경해야 한다.
반응형