1.0.2 • Published 5 years ago

@egodigital/oauth2-client v1.0.2

Weekly downloads
3
License
LGPL-3.0
Repository
github
Last release
5 years ago

npm

@egodigital/oauth2-client

Functions and classes for easily handling OAuth 2 operations, written for Node.js 10+ in TypeScript.

The library is based on the concept of oauth2-server.

Install

Execute the following command from your project folder, where your package.json file is stored:

npm install --save @egodigital/oauth2-client

Documentation

API documentation can be found here.

Usage

First define the following environment variables:

NameDescriptionExample
OAUTH2_CLIENT_IDThe ID of the OAuth2 client.147a67e2-a5f0-43b5-90d3-0deb35895826
OAUTH2_CLIENT_SECRETThe secret of the OAuth2 client.ASitBUoQ7ovXVDc6hPUzq
OAUTH2_KEYThe key for the admin API.ou3I3Rj8UdBChAgAdzNkeF
OAUTH2_URLThe base URL of the OAuth 2 service.https://oauth2.example.com

Tokens

Users

Get a new token
import { getUserToken } from '@egodigital/oauth2-client';

console.log(
    await getUserToken('myUsername', 'myP@ssword123!')
);
Get info
import { getUserInfo } from '@egodigital/oauth2-client';

console.log(
    await getUserInfo('myAccessToken')
);
Revoke token
import { revokeToken } from '@egodigital/oauth2-client';

console.log(
    await revokeToken('myAccessToken')
);

Admin API

Clients

Create a client
import { createClient } from '@egodigital/oauth2-client';

console.log(
    await createClient({
        'name': 'My awesome app',
    })
);
List all clients
import { getClients } from '@egodigital/oauth2-client';

console.log(
    await getClients()
);
Get a specific client
import { getClient } from '@egodigital/oauth2-client';

console.log(
    await getClient('myClientId')
);
Delete a client
import { deleteClient } from '@egodigital/oauth2-client';

console.log(
    await deleteClient('myClientId')
);