diff --git a/src/lib/stores/oauth-providers.ts b/src/lib/stores/oauth-providers.ts index 46487d9327..58b05aadd9 100644 --- a/src/lib/stores/oauth-providers.ts +++ b/src/lib/stores/oauth-providers.ts @@ -8,7 +8,7 @@ import Main from '$routes/(console)/project-[region]-[project]/auth/(providers)/ import Microsoft from '$routes/(console)/project-[region]-[project]/auth/(providers)/microsoftOAuth.svelte'; import Oidc from '$routes/(console)/project-[region]-[project]/auth/(providers)/oidcOAuth.svelte'; import Okta from '$routes/(console)/project-[region]-[project]/auth/(providers)/oktaOAuth.svelte'; - +import Kakao from '$routes/(console)/project-[region]-[project]/auth/(providers)/kakaoOAuth.svelte'; export type Provider = { name: string; icon: string; @@ -125,6 +125,12 @@ export const oAuthProviders: Record = { docs: 'https://support.google.com/googleapi/answer/6158849', component: Google }, + kakao: { + name: 'Kakao', + icon: 'kakao', + docs: 'https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api', + component: Kakao + }, linkedin: { name: 'LinkedIn', icon: 'linkedin', diff --git a/src/routes/(console)/project-[region]-[project]/auth/(providers)/kakaoOAuth.svelte b/src/routes/(console)/project-[region]-[project]/auth/(providers)/kakaoOAuth.svelte new file mode 100644 index 0000000000..1e5ff5819a --- /dev/null +++ b/src/routes/(console)/project-[region]-[project]/auth/(providers)/kakaoOAuth.svelte @@ -0,0 +1,82 @@ + + + + {provider.name} OAuth2 Settings + +

+ To use {provider.name} authentication in your application, first fill in this form. For more + info you can + visit the docs. +

+ + + + + To complete the setup, create a Kakao OAuth2 app and add this redirect URI to your Kakao developer console. + +
+

Redirect URI

+ +
+
+ + + + +
\ No newline at end of file diff --git a/src/routes/(console)/project-[region]-[project]/auth/updateOAuth.ts b/src/routes/(console)/project-[region]-[project]/auth/updateOAuth.ts index 5ada367479..ecc03ad6c6 100644 --- a/src/routes/(console)/project-[region]-[project]/auth/updateOAuth.ts +++ b/src/routes/(console)/project-[region]-[project]/auth/updateOAuth.ts @@ -18,7 +18,10 @@ type Return = { status: 'success' | 'error'; message?: string; }; - +const ExtendedOAuthProvider = { + ...OAuthProvider, + Kakao: 'kakao' +}; export async function updateOAuth({ projectId, provider, @@ -27,12 +30,13 @@ export async function updateOAuth({ enabled }: Args): Promise { try { - if (!isValueOfStringEnum(OAuthProvider, provider.key)) { + if (!isValueOfStringEnum(ExtendedOAuthProvider, provider.key)) { + console.log(OAuthProvider); throw new Error(`Invalid OAuth2 provider: ${provider.key}`); } await sdk.forConsole.projects.updateOAuth2( projectId, - provider.key, + provider.key as OAuthProvider, appId || undefined, secret || undefined, enabled diff --git a/static/icons/dark/color/kakaotalk.svg b/static/icons/dark/color/kakaotalk.svg new file mode 100644 index 0000000000..8e9f9b123f --- /dev/null +++ b/static/icons/dark/color/kakaotalk.svg @@ -0,0 +1 @@ +KakaoTalk \ No newline at end of file