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

@hawtio/oauth

v4.13.15

Published

[![Build](https://github.com/hawtio/hawtio-oauth/actions/workflows/build.yml/badge.svg)](https://github.com/hawtio/hawtio-oauth/actions/workflows/build.yml)

Downloads

146

Readme

hawtio-oauth

Build

This module contains a couple different OAuth clients that can be configured by other plugins:

  1. keycloak - a plugin that integrates with Keycloak
  2. osoauth - a plugin that integrates with the OAuth backend used in OpenShift origin

In either case these plugins need to be configured at application bootstrap.

Keycloak

Simply create a HawtioKeycloak.config at bootstrap:

hawtioPluginLoader.registerPreBootstrapTask((next) => {
  HawtioKeycloak.config = {
    clientId: 'hawtio-client',
    url: 'http://localhost:8080/auth',
    realm: 'hawtio-demo' 
  };
  next();
}, true);

The HawtioKeycloak.config accepts all the parameters that the official Keycloak JavaScript adapter supports.

OpenShift

Very similar to Keycloak, except you initialize the OSOAuthConfig object with the location of the OpenShift API:

hawtioPluginLoader.registerPreBootstrapTask((next) => {
  OSOAuthConfig = {
    oauth_authorize_uri: "https://localhost:8443/oauth/authorize",
    oauth_client_id: "openshift-web-console",
    logout_uri: ""
  };
  next();
}, true);

Note in either case we need to pass true to hawtioPluginLoader.registerPreBootstrapTask so that it's added to the start of the bootstrap queue.

In general for OAuth we want to establish the user's credentials at app bootstrap, as many services tend to need them to access backend services.

Installation

yarn add @hawtio/oauth

Developing

If you plan to contribute to this project or run it locally for testing, you'll need either an OpenShift Origin installation or a Keycloak server.

To start developing, install all the yarn dependencies:

yarn install

And then just execute:

yarn start

It will start a simple web server that is updated every time a new change in the target files is detected. If your browser is supported, the page is also refreshed when changes are detected.

The application is available at http://0.0.0.0:9000. If you add any extra dependency, you'll need to execute the first steps again.

Whenever the build completes the compiled .js file will be put into the dist/ directory. Don't forget to first do a yarn build before committing changes!

Turn on source maps generation for debugging TypeScript

If you want to debug .ts using a browser developer tool such as Chrome DevTools, pass the --sourcemap flag:

yarn start --sourcemap

Do not use this flag when you are committing the compiled .js file, as it embeds source maps to the output file. Use this flag only during development.

Keycloak setup for development

You can import the realm sample file located in test-plugins/hawtio-demo-realm.json into Keycloak. To do that, start Keycloak and select "Add Realm" and then select the sample JSON file. Alternatively, you can import the file automatically on the first boot:

./bin/standalone.sh -Dkeycloak.import=/path/to/hawtio-demo-realm.json

If you decide to import this file, an user will be available for testing. The username is jdoe and the password is password.