구글 소셜 로그인 flow
<aside> 💡
[공유 사항]
// 환경변수 추가 (.env 페이지에도 업데이트)
src\auth\guard\sns.guard.ts 파일 수정하게되어서 기존 내용 주석 처리 했는데 다른 소셜 로그인 구현하실 때 확인 부탁드립니다. 수정 필요하면 방안을 찾아보아요. @민지영
src\auth\social-config.module.ts 모듈 분리해서 sns 로그인 관련 환경변수 따로 분리했습니다.
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import * as Joi from 'joi';
const socialValidationSchema = Joi.object({
GOOGLE_CLIENT_ID: Joi.string().required(),
GOOGLE_CLIENT_SECRET: Joi.string().required(),
NAVER_CLIENT_ID: Joi.string().required(),
NAVER_CLIENT_SECRET: Joi.string().required(),
});
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: false, // 전역이 아닌 이 모듈에서만 사용
validationSchema: socialValidationSchema,
envFilePath: '.env',
}),
],
exports: [ConfigModule],
})
export class SocialConfigModule {}
//src\auth\types 파일에 타입 추가
import { Provider } from '@/user/entities/user.entity';
export interface SocialUser {
email: string;
name: string;
picture?: string;
provider: Provider;
}
</aside>