@byu-oit/nuxt-byu-auth

Nuxt plugin that facilitates BYU authentication features

Usage no npm install needed!

<script type="module">
  import byuOitNuxtByuAuth from 'https://cdn.skypack.dev/@byu-oit/nuxt-byu-auth';
</script>

README

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',
    ],
}

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,
      autoRefreshOnTimeout: process.env.AUTO_REFRESH_ON_TIMEOUT // optional
    }
}