{"id":15287112,"url":"https://github.com/aborn/nuxt-openid-connect","last_synced_at":"2026-03-05T01:03:20.803Z","repository":{"id":41166817,"uuid":"501258403","full_name":"aborn/nuxt-openid-connect","owner":"aborn","description":"OpenID-Connect(OIDC) integration module for nuxt 3.0.","archived":false,"fork":false,"pushed_at":"2024-06-28T12:04:49.000Z","size":981,"stargazers_count":43,"open_issues_count":7,"forks_count":18,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-28T02:53:56.571Z","etag":null,"topics":["module","nuxt","nuxt3","oidc"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aborn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-08T13:15:57.000Z","updated_at":"2025-05-12T21:07:19.000Z","dependencies_parsed_at":"2024-01-30T05:26:12.606Z","dependency_job_id":"7b9b010d-5db6-4530-a68d-759913e4c25d","html_url":"https://github.com/aborn/nuxt-openid-connect","commit_stats":{"total_commits":165,"total_committers":13,"mean_commits":"12.692307692307692","dds":0.4121212121212121,"last_synced_commit":"e8567c96c4b6b6f8b35703e4dfddb6f62f1edab7"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/aborn/nuxt-openid-connect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aborn%2Fnuxt-openid-connect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aborn%2Fnuxt-openid-connect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aborn%2Fnuxt-openid-connect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aborn%2Fnuxt-openid-connect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aborn","download_url":"https://codeload.github.com/aborn/nuxt-openid-connect/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aborn%2Fnuxt-openid-connect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30104218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T00:38:46.881Z","status":"ssl_error","status_checked_at":"2026-03-05T00:38:45.829Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["module","nuxt","nuxt3","oidc"],"created_at":"2024-09-30T15:24:20.258Z","updated_at":"2026-03-05T01:03:15.752Z","avatar_url":"https://github.com/aborn.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nuxt OpenID-Connect\n[![npm version](https://img.shields.io/npm/v/nuxt-openid-connect.svg?style=flat)](https://www.npmjs.com/package/nuxt-openid-connect)\n\nOpenID-Connect(OIDC) integration module for nuxt 3.0. (V0.4.0+ support nuxt 3.0.0-stable.)\n\n## Features\n\n- An [**Nuxt 3**](https://v3.nuxtjs.org) module (Note: nuxt 2.x not supported).\n- OIDC integration ( implemetation based on [openid-client](https://github.com/panva/node-openid-client) ).\n- [State Management](https://v3.nuxtjs.org/guide/features/state-management/), shared login user info.\n- OIDC provider config.\n- Encrypt userInfo cookie.\n- Support browser localStorage store userInfo, which keep user auth info after page refresh. Similar like [this](https://stackoverflow.com/questions/68174642/how-to-keep-user-authenticated-after-refreshing-the-page-in-nuxtjs).\n\n## Why use this module \n\n- The official [auth](https://github.com/nuxt-community/auth-module/issues/1719) module doesn't support Nuxt 3.0 yet.\n- [nuxt-oidc](https://github.com/deko2369/nuxt-oidc) also not support Nuxt 3.0.\n\n## How to use this module\n\n- Add to a project\n```bash\nnpx nuxi@latest module add nuxt-openid-connect\n```\n\n- Then, add `nuxt-openid-connect` module to nuxt.config.ts and change to your configs (`openidConnect`):\n```ts\nexport default defineNuxtConfig({\n  // runtime config for nuxt-openid-connect example -- you can use env variables see .env.example\n  runtimeConfig: {\n    openidConnect: {\n      op: {\n        issuer: '',\n        clientId: '',\n        clientSecret: '',\n        callbackUrl: '',\n      },\n      config: {\n        cookieFlags: {\n          access_token: {\n            httpOnly: true,\n            secure: false,\n          }\n        }\n      }\n    },\n  },\n  \n  // add nuxt-openid-connect module here... \n  modules: [\n    'nuxt-openid-connect'\n  ],\n\n  // configuration for nuxt-openid-connect\n  openidConnect: {\n    addPlugin: true,\n    op: {\n      issuer: 'your_issuer_value',\n      clientId: 'your_issuer_clientid',\n      clientSecret: 'secret',\n      callbackUrl: '',   // deprecated from 0.8.0\n      scope: [\n        'email',\n        'profile',\n        'address'\n      ]\n    },\n    config: {\n      debug: false, // optional, default is false\n      response_type: 'id_token', // or 'code'\n      secret: 'oidc._sessionid',\n      isCookieUserInfo: false, // whether save userinfo into cookie.\n      cookie: { loginName: '' },\n      cookiePrefix: 'oidc._',\n      cookieEncrypt: true,\n      cookieEncryptKey: 'bfnuxt9c2470cb477d907b1e0917oidc', // 32\n      cookieEncryptIV: 'ab83667c72eec9e4', // 16\n      cookieEncryptALGO: 'aes-256-cbc',\n      cookieMaxAge: 24 * 60 * 60, //  default one day\n      cookieFlags: { // default is empty \n        access_token: { \n          httpOnly: true,\n          secure: false,\n        }\n      }\n    }\n  }\n})\n\n```\n\n- Useage in setup.\n\n```ts\nconst oidc = useOidc()\n```\n\nHere is an [usage example](https://github.com/aborn/nuxt-openid-connect/blob/main/playground/pages/index.vue).\n\n## 💻 Development\n\n- Clone repository\n- Install dependencies using `yarn install`\n- Run `yarn dev:prepare` to generate type stubs.\n- Use `yarn run` to start [playground](./playground) in development mode.\n\n## License\n\n[MIT](./LICENSE) - Made with 💚\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faborn%2Fnuxt-openid-connect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faborn%2Fnuxt-openid-connect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faborn%2Fnuxt-openid-connect/lists"}