Nuxt Kinde
快速設定
- 將
@nuxtjs/kinde
相依性新增至您的專案
npx nuxi@latest module add kinde
- 將
@nuxtjs/kinde
新增至nuxt.config.ts
的modules
區段
export default defineNuxtConfig({
modules: ['@nuxtjs/kinde'],
kinde: {
// This is true by default and adds 'auth-logged-in' and 'auth-logged-out'
// middleware to your Nuxt application.
//
// middleware: false,
//
// enable the debug `/api/health` endpoint
// debug: true,
//
// Set custom endpoints in case you use any of the default routes for other purposes
// endpoints: {
// callback: '/api/callback',
// login: '/api/login',
// register: '/api/register',
// health: '/api/health',
// logout: '/api/logout'
// }
}
})
將以下組態新增至您的 .env
檔案,並將 < >
中的值替換為您的 Kinde 憑證。
注意: Nuxt Kinde 模組需要後端 Web API 金鑰
NUXT_KINDE_AUDIENCE="https://<your_kinde_subdomain>.kinde.com/api" # if you want to use the Management API
NUXT_KINDE_AUTH_DOMAIN="https://<your_kinde_subdomain>.kinde.com"
NUXT_KINDE_CLIENT_ID="<your_kinde_client_id>"
NUXT_KINDE_CLIENT_SECRET="<your_kinde_client_secret>"
NUXT_KINDE_LOGOUT_REDIRECT_URL="https://127.0.0.1:3000"
NUXT_KINDE_REDIRECT_URL="https://127.0.0.1:3000/api/callback"
NUXT_KINDE_PASSWORD=<a random password which will be used to encrypt the session cookie>
NUXT_KINDE_POST_LOGIN_REDIRECT_URL="https://127.0.0.1:3000/dashboard"
您也可以在 nuxt.config
檔案中設定任何這些值
export default defineNuxtConfig({
kinde: {
authDomain: 'https://<your_kinde_subdomain>.kinde.com',
clientId: '<your_kinde_client_id>',
// You probably don't want to set any of the following directly in your config
// as they either shouldn't be committed to version control, or are dependent
// on your environment.
//
// clientSecret: '<your_kinde_client_secret>',
// redirectURL: 'https://127.0.0.1:3000/api/callback',
// logoutRedirectURL: 'https://127.0.0.1:3000',
// postLoginRedirectURL: 'https://127.0.0.1:3000/dashboard',
}
})
就這樣!您現在可以在您的 Nuxt 應用程式中使用 Nuxt Kinde ✨
組合式函式
useAuth
這會傳回目前的驗證狀態,並具有下列屬性。
loggedIn
一個布林值,指示使用者是否已登入。
user
目前已登入的使用者狀態,如果使用者未登入,則為 null。
useKindeClient
僅限伺服器端。這會傳回一個 Kinde 客戶端;詳情請參閱 Kinde SDK 文件。
開發
# Install dependencies
npm install
# Generate type stubs
npm run dev:prepare
# Develop with the playground
npm run dev
# Build the playground
npm run dev:build
# Run ESLint
npm run lint
# Run Vitest
npm run test
npm run test:watch
# Release new version
npm run release