From fe199db25439b319b2a9580cda4ee75437b07a30 Mon Sep 17 00:00:00 2001 From: Ss0Mae Date: Tue, 4 Feb 2025 09:52:03 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[Fix]=20=ED=9A=8C=EC=9B=90=EA=B0=80?= =?UTF-8?q?=EC=9E=85=EC=8B=9C=20=EB=8B=89=EB=84=A4=EC=9E=84=20=EC=A4=91?= =?UTF-8?q?=EB=B3=B5=20=EC=8B=9C=20=EB=9E=9C=EB=8D=A4=20=EC=88=AB=EC=9E=90?= =?UTF-8?q?=20=EB=B6=80=EC=97=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/auth/auth.service.ts | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/modules/auth/auth.service.ts b/src/modules/auth/auth.service.ts index 47d3999..89a3554 100644 --- a/src/modules/auth/auth.service.ts +++ b/src/modules/auth/auth.service.ts @@ -24,7 +24,7 @@ export class AuthService { code, client_id: process.env.GOOGLE_CLIENT_ID, client_secret: process.env.GOOGLE_CLIENT_SECRET, - redirect_uri: process.env.GOOGLE_CALLBACK_DEPLOY_URL, + redirect_uri: process.env.GOOGLE_CALLBACK_DEVELOP_URL, grant_type: 'authorization_code', } ); @@ -162,12 +162,30 @@ export class AuthService { return existingUser; // 기존 유저 반환 } - // 새 유저 생성 + // 기본 닉네임 + let finalNickname = profile.nickname; + + // 닉네임 중복 여부 확인 + let isNicknameTaken = await this.prisma.user.findUnique({ + where: { nickname: finalNickname }, + }); + + // 중복이면, 랜덤 숫자를 붙여서 새로운 닉네임 생성 (충분한 횟수 반복) + while (isNicknameTaken) { + // 예를 들어, 4자리의 랜덤 숫자를 붙여줍니다. + const randomNumber = Math.floor(1000 + Math.random() * 9000); // 1000~9999 + finalNickname = `${profile.nickname}${randomNumber}`; + isNicknameTaken = await this.prisma.user.findUnique({ + where: { nickname: finalNickname }, + }); + } + + // 최종적으로 유니크한 닉네임으로 새 유저 생성 return this.prisma.user.create({ data: { email: profile.email, name: profile.name, - nickname: profile.nickname, + nickname: finalNickname, profile_url: profile.profile_url, auth_provider: profile.auth_provider, push_alert: false, From 1b320deb0a500bcfb42d0d3454d0a1ac39c3df00 Mon Sep 17 00:00:00 2001 From: Ss0Mae Date: Tue, 4 Feb 2025 09:54:16 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[Fix]=20=EC=98=A4=EB=A5=98=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/auth/auth.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/auth/auth.service.ts b/src/modules/auth/auth.service.ts index 89a3554..5aa1ae8 100644 --- a/src/modules/auth/auth.service.ts +++ b/src/modules/auth/auth.service.ts @@ -24,7 +24,7 @@ export class AuthService { code, client_id: process.env.GOOGLE_CLIENT_ID, client_secret: process.env.GOOGLE_CLIENT_SECRET, - redirect_uri: process.env.GOOGLE_CALLBACK_DEVELOP_URL, + redirect_uri: process.env.GOOGLE_CALLBACK_DEPLOY_URL, grant_type: 'authorization_code', } );