npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@iwelt/nuxt-keycloak

v1.0.0

Published

This module exposes a wrapper around the official [Keycloak Javascript adapter](https://www.keycloak.org/docs/latest/securing_apps/index.html#_javascript_adapter) to make it work together with Nuxt (3).

Downloads

3

Readme

Keycloak Nuxt Module

This module exposes a wrapper around the official Keycloak Javascript adapter to make it work together with Nuxt (3).

Installing the Plugin

In your nuxt.config.ts, import the plugin like this (merge this snippet into your existing code):

import { defineNuxtConfig } from 'nuxt/config'
import Keycloak from '@iwelt/nuxt-keycloak'

export default defineNuxtConfig({
  modules: [
    Keycloak
  ],
  
  keycloak: {
    url: 'https://accounts.example.com',
    realm: 'example',
    clientId: 'webapp'
  }
})

Configuring

The keycloak config options takes the following options:

  • url (string, required) — Full URL of the Keycloak instance, including the /auth path (if present).
  • realm (string, required) — Name of the Keycloak realm.
  • clientId (string, required) — Client ID to use. This must be a client with the Access Type option set to public.
  • initOptions (object) — These options will be passed to the init() method of the Keycloak adapter. As an example, you can use this to set the OpenID scope option.

Usage

The useKeycloak composable is the main entry point to the plugin. When it is called the first time, it will start the Keycloak initialization sequence. It returns the following properties:

  • keycloak (Keycloak) — The instance of the Keycloak Javascript adapter. This will be null during SSR.
  • userProfile 🤖 — Vue ref containing the user's profile information.
  • userProfile 🤖 — Vue ref containing the OIDC user info object.
  • userProfile 🤖 — Vue ref containing information about the user's authorization (the scopes they have access to).
  • userProfile (Ref<string>) — Vue ref containing the token that can be used to authenticate API requests on the user's behalf.
  • updateToken (() ⇒ void) — Call this to manually refresh the token.
  • login 🤖 — Call this to start the login flow.
  • logout 🤖 — Call this to start the logout flow.

See the linked source file for the actual TypeScript typings for those properties marked "🤖".

Persistence

The refresh token is automatically persisted into local storage. It will be used on page refresh to re-authenticate the user.

License

MIT