Auth manager
Данный модуль управляет исключительно токенами авторизации.
Инициализация
-
Обзательные параметры:
-
url
- OAuth клиент - необходимо передать адрес oauth авторизации, например
https://test.com/authorize
- Cookies клиент - необходимо передать url с формой авторизации, на сайте
- OAuth клиент - необходимо передать адрес oauth авторизации, например
-
client
- Для клиента Cookies необходимы дополнительные права доступа. На работу с куками и доменом на котором они расположены. onSuccess
- Callback при успешном получении токена OnFailure
- Callback при неуспешном получении токена
-
url
-
Необязательные параметры:
-
authConfig
- Параметры для формирования oauth url
-
authConfig
Как начать работать?
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