OpenID-Connect(OIDC) integration module for nuxt 3.0. (V0.4.0+ support nuxt 3.0.0-stable.)
- An Nuxt 3 module (Note: nuxt 2.x not supported).
- OIDC integration ( implemetation based on openid-client ).
- State Management, shared login user info.
- OIDC provider config.
- Encrypt userInfo cookie.
- Support browser localStorage store userInfo, which keep user auth info after page refresh. Similar like this.
- Add to a project
yarn add nuxt-openid-connect
- Then, add
nuxt-openid-connect
module to nuxt.config.ts and change to your configs (openidConnect
):
export default defineNuxtConfig({
modules: [
'nuxt-openid-connect'
],
openidConnect: {
addPlugin: true,
op: {
issuer: 'your_issuer_value',
clientId: 'your_issuer_clientid',
clientSecret: 'secret',
callbackUrl: '', // optional
scope: [
'email',
'profile',
'address'
]
},
config: {
response_types: 'id_token',
secret: 'oidc._sessionid',
cookie: { loginName: '' },
cookiePrefix: 'oidc._',
cookieEncrypt: true,
cookieEncryptKey: 'bfnuxt9c2470cb477d907b1e0917oidc', // 32
cookieEncryptIV: 'ab83667c72eec9e4', // 16
cookieEncryptALGO: 'aes-256-cbc',
cookieMaxAge: 24 * 60 * 60 // default one day
}
}
})
Here is an using example.
- Clone repository
- Install dependencies using
yarn install
- Run
npm run dev:prepare
to generate type stubs. - Use
npm run dev
to start playground in development mode.
MIT - Made with 💚