web-extension-auth-manager
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

Logo

Auth manager

Данный модуль управляет исключительно токенами авторизации.

Инициализация

  • Обзательные параметры:

    • url
      • OAuth клиент - необходимо передать адрес oauth авторизации, например https://test.com/authorize
      • Cookies клиент - необходимо передать url с формой авторизации, на сайте
    • client
      • Для клиента Cookies необходимы дополнительные права доступа. На работу с куками и доменом на котором они расположены. onSuccess
      • Callback при успешном получении токена OnFailure
      • Callback при неуспешном получении токена
  • Необязательные параметры:

    • authConfig
      • Параметры для формирования oauth url

Как начать работать?

Oauth клиент:

const AUTH_CONFIG = {
    apiVersion: 2,
    clientId: 'test-client-id',
    redirectUri: 'https://test.com/blank.html',
    scope: 'default',
    responseType: 'token',
    lang: 'ru',
    state: 'state5388',
};

const authClient = new OauthClient();

const auth = new Auth('https://test.com/authorize', authClient, onSuccess, onFailure, AUTH_CONFIG);

function onSuccess() {
    // Удалось получить токен
}

function onFailure() {
    // Не удалось получить токен
}

auth.startAuthProcess();

Cookies клиент:

const authClient = new CookiesClient();

const auth = new Auth('https://test.com/login-form', onSuccess, onFailure, authClient);

function onSuccess() {
    // Удалось получить токен
}

function onFailure() {
    // Не удалось получить токен
}

auth.startAuthProcess();

Процесс авторизации

Вызов метода startAuthProcess:

  • Открывает вкладку
  • Запоминает ee ID и начинает следеть за ее изменением
  • Изменение вкладки (В зависимости от выбранного клиента, в момент изменения вкладки проверяется наличие токенов авторизации)
  • В случае успешной авторизации вызывается callback onSuccess
  • В случае провала* авторизации вызывается callback onFailure

* Провалом авторизации считается закрытие вкладки, которую открыл плагин, до получения токенов авторизации.

Хранилище

Модуль использует локальное хранилище плагина browser.storage.local

Разработка

Для работы в дев режиме нужно создать symlink - mklink путь до пакета\plugin\node_modules\web-extension-auth-manager\dist путь до пакета\auth-manager\dist

Package Sidebar

Install

npm i web-extension-auth-manager

Weekly Downloads

1

Version

2.0.0

License

ISC

Unpacked Size

21.1 kB

Total Files

15

Last publish

Collaborators

  • epndevteam