kogitte
TypeScript icon, indicating that this package has built-in type declarations

5.1.3 • Public • Published

Kogitte

ci npm

OAuth2 session manager

This package supports/uses only the password and refresh flow!

Setup & Build

Install all dependencies:

npm install

Build:

npm run build

Usage

Initial configuration:

import { AuthConfig } from "kogitte";

AuthConfig.init({
    // Required
    clientId: "clientId",
    tokenUrl: "tokenUrl",
    logoutUrl: "logoutUrl",

    // Optional
    localStorageKey: "localStorageKey",
    onSessionExpire: () => { ... }
});

Session Manager

Login:

Requests the access and the refresh token from the configured token URL and saves this data in the local storage.

import { UserSessionManager } from "kogitte";

new UserSessionManager().login("username", "password", "optional captcha response");

Optionally a captcha response can be provided. This data is sent with the login in the captcha parameter.

Logout:

Sends an authorized POST request to the configured URL and removes afterwards the session in the local storage.

import { UserSessionManager } from "kogitte";

new UserSessionManager().logout("optional data");

Optionally data can be provided. This data is sent in the request body.

Get current session:

Gets the data from the local storage and checks if the access token is still valid. Is this not the case, a refresh attempt is made. If this fails the saved session gets removed. Is the token still valid or the refreshment succeeded, the current session gets returned.

import { UserSessionManager } from "kogitte";

new UserSessionManager().getCurrentSession();

Session exists:

Checks if a session is stored in the local storage.

import { UserSessionManager } from "kogitte";

new UserSessionManager().sessionExists();

Readme

Keywords

none

Package Sidebar

Install

npm i kogitte

Weekly Downloads

1

Version

5.1.3

License

MPL-2.0

Unpacked Size

115 kB

Total Files

23

Last publish

Collaborators

  • teranovalp