@byu-oit/nuxt-byu-auth

Nuxt plugin that facilitates BYU authentication features
2,241
Install
npm install @byu-oit/nuxt-byu-auth
Latest Version:3.1.2
License:Apache-2.0
Last Updated:Mar 19, 2024
Links: npm
Maintainer: yoshutch

Setup

Install

:warning: Requires Nuxt version >= 2.13 :warning:

Install with yarn:

yarn add @byu-oit/nuxt-byu-auth

Install with npm:

npm install @byu-oit/nuxt-byu-auth

nuxt.config.js

module.exports = {
    modules: [
        '@nuxt/axios',
        '@byu-oit/nuxt-alerts',
        '@byu-oit/nuxt-byu-auth',
    ],
}

Using Plugin Options

TODO: commit this change

module.exports = {
    modules: [
        // ... other modules
        ['@byu-oit/nuxt-byu-auth', {
            pluginOptions: {
                'implicit-grant': { // configuration for the 'implicit-grant' plugin
                    usePkce: true, // use PKCE instead of the implicit grant flow
                },
            }
        }]
    ],
}

Typescript

Add the types to your "types" array in tsconfig.json after the @nuxt/types (Nuxt 2.12.0+)

tsconfig.json

{
  "compilerOptions": {
    "types": [
      "@nuxt/types",
      "@nuxtjs/axios",
      "@byu-oit/nuxt-alerts",
      "@byu-oit/nuxt-sis-context",
      "@byu-oit/nuxt-byu-auth"
    ]
  }
}

Why?

Because of the way nuxt works the $axios property on the context has to be merged into the nuxt Context interface via declaration merging. Adding @byu-oit/nuxt-byu-auth to your types will import the types from the package and make typescript aware of the additions to the Context interface.

Usage

Set the implicit auth environment variable in the nuxt.config file:

{
  publicRuntimeConfig: {
      oauthCallbackUrl: process.env.OAUTH_CALLBACK_URL,
      oauthClientId: process.env.OAUTH_CLIENT_ID,
      baseUrl: process.env.OAUTH_BASE_URL, // defaults to https://api.byu.edu
      autoRefreshOnTimeout: process.env.AUTO_REFRESH_ON_TIMEOUT // optional
    }
}

Related Packages

nuxt-token-authentication

Token Authentication for Nuxt Server APIs

541 5
@digitalway/nuxt-directus

Nuxt module for authentication

324 1
nuxt-basic-authentication-module

Basic Authentication Module for Nuxt 3

5,381 4
nuxt-basic-auth-module

Provide basic authentication to your Nuxt.js application

137,709 308

Version History

Version Released License
3.1.2 Apache-2.0
3.1.0 Apache-2.0
3.0.0 Apache-2.0
2.0.4 Apache-2.0
2.0.3 Apache-2.0
Pre-releases (1)
Version Released License
0.0.4-0 Apache-2.0