@villedemontreal/auth-oidc-plugin-axios
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

Description

This is the HTTP client binding for the Axios library.

It provides an implementation of IHttpClient, to use Axios for all OIDC internal calls, and it provides additional plugins which enable authentication, logging and correlation ID injection.

This library belongs to a monorepo. Please visit https://github.com/VilledeMontreal/authentication-nodejs-lib for more information.

Plugins

Usage

npm install axios @villemontrea/auth-oidc-plugin-axios
npm install @types/axios --save-dev
import axios, { AxiosRequestConfig } from 'axios';
import {
  authenticator,
  createSession,
} from '@villedemontreal/auth-oidc-plugin-axios';
// configure
const session = createSession({
  authMethod: 'client_secret_basic',
  client: {
    id: 'client',
    secret: 'clientSecret',
  },
  issuer: 'http://localhost:5000',
  scopes: ['openid', 'profile'],
});
// custom auth for each http call:
const config: AxiosRequestConfig = {};
authenticator(session).bind(config);
const res = await axios.get('http://localhost:4004/secured/profile', config);
console.log(res.status, res.data);

// or configure auth once for all http calls:
const myAgent = axios.create();
authenticator(session).bind(myAgent);
// then each call will be automatically authenticated
const res2 = await myAgent.get('http://localhost:4004/secured/profile');
console.log(res2.status, res.data);

Documentation

See Documentation.

Examples

See Axios client

Readme

Keywords

Package Sidebar

Install

npm i @villedemontreal/auth-oidc-plugin-axios

Weekly Downloads

195

Version

1.1.1

License

MIT

Unpacked Size

193 kB

Total Files

71

Last publish

Collaborators

  • electrotype
  • psionikangel
  • olivieralbertini
  • sdriton
  • joscelynjean
  • steph-lebl
  • livetocode