diff --git a/src/api/auth.js b/src/api/auth.js
index a8bce76..e48d143 100644
--- a/src/api/auth.js
+++ b/src/api/auth.js
@@ -2,3 +2,9 @@ import { userHttp } from './http'
export const loginWithPassword = (username, password) =>
userHttp.post('/auth/login', { username, password })
+
+export const getOidcAuthorizeUrl = (redirectUri) =>
+ userHttp.get('/auth/oidc/url', { params: { redirect_uri: redirectUri } })
+
+export const exchangeOidcCode = (code, redirectUri) =>
+ userHttp.post('/auth/oidc/exchange', { code, redirect_uri: redirectUri })
diff --git a/src/pages/AuthCallbackPage.vue b/src/pages/AuthCallbackPage.vue
new file mode 100644
index 0000000..ebafd74
--- /dev/null
+++ b/src/pages/AuthCallbackPage.vue
@@ -0,0 +1,54 @@
+
+ 正在處理登入結果...member.ose.tw
+
登入成功後 access token 會存於本機 localStorage
+會跳轉到 Authentik 輸入帳號密碼,成功後自動回來。
+登入成功後 access token 會存於本機 localStorage。
+