@anzuev/studcloud.sso
v2.0.13
Published
SSO for StudCloud project.
Downloads
37
Readme
Модули
SSO
- SSO
- ~SSO
- .configure(config)
- .getSessionsMiddleware() ⇒ *
- .getContextMiddleware() ⇒ loadContext
- .isPasswordChangeAllowed(session) ⇒ boolean
- .confirmPasswordChange() ⇒ boolean
- .dropPasswordChangeAccess(next)
- .checkAuth(next)
- .checkMailActivation(next)
- .checkMobileActivation(next)
- .checkDocumentActivation(next)
- .signIn(next)
- .logout(next)
- .checkPermission(user, fileId) ⇒ * | boolean
- ~SSO
Методы
SSO
SSO~SSO
Kind: inner class of SSO
- ~SSO
- .configure(config)
- .getSessionsMiddleware() ⇒ *
- .getContextMiddleware() ⇒ loadContext
- .isPasswordChangeAllowed(session) ⇒ boolean
- .confirmPasswordChange() ⇒ boolean
- .dropPasswordChangeAccess(next)
- .checkAuth(next)
- .checkMailActivation(next)
- .checkMobileActivation(next)
- .checkDocumentActivation(next)
- .signIn(next)
- .logout(next)
- .checkPermission(user, fileId) ⇒ * | boolean
SSO.configure(config)
Настройка модуля(обязательно перед использованием) Настраивает логгер и соединение к бд Пример конфига:
Kind: static method of SSO
| Param | Description | | --- | --- | | config | конфигурация типа nconf |
SSO.getSessionsMiddleware() ⇒ *
Получение миддлвера сессий
Kind: static method of SSO
Throws:
- Error , модуль не был настроен
Example
app.use(SSO.getSessionsMiddleware();
SSO.getContextMiddleware() ⇒ loadContext
Получение миддлвера для загрузки контекста
Kind: static method of SSO
Throws:
- Error , модуль не был настроен
Example
app.use(SSO.getContextMiddleware());
SSO.isPasswordChangeAllowed(session) ⇒ boolean
Проверка можно ли пользователю менять пароль
Kind: static method of SSO
Returns: boolean - , true - можно, false - нельзя
| Param | Description | | --- | --- | | session | объект типа koa-session |
SSO.confirmPasswordChange() ⇒ boolean
Миддлвер для валидации ключа для смены, если ключ верный, то метод isPasswordChangeAllowed будет возвращать true В this.state.passwordKey должен быть помещен ключ
Kind: static method of SSO
Returns: boolean - , true - ключ верный, false - ключ не верный
SSO.dropPasswordChangeAccess(next)
Миддлвер для сброса возможности менять пароль для данной сессии. Вызывается после смены пароля.
Kind: static method of SSO
| Param | | --- | | next |
SSO.checkAuth(next)
Миддлвер для проверки авторизован ли пользователь или нет
Kind: static method of SSO
Throws:
- AuthError , 405 - уровень авторизации недостаточен
this: SSO
| Param | Description | | --- | --- | | next | переход к следующему миддлверу |
Example
//router file
router.get('/doSomething', require('path/to/handler.js', SSO.checkAuth);
// path/to/handler.js
...
let a = b;
yield next;
// если все хорошо, продолжится выполнение
// если пользователь не авторизован, будет ошибка
// и управление попадет обработчику ошибок
...
SSO.checkMailActivation(next)
Миддлвер для проверки уровня авторизации(подтвердена либо почта, либо документ либо телефон)
Kind: static method of SSO
Throws:
- AuthError , 405 - уровень авторизации недостаточен
| Param | Description | | --- | --- | | next | переход к следующему миддлверу |
Example
//router file
router.get('/doSomething', require('path/to/handler.js', SSO.checkMailActivation);
// path/to/handler.js
...
let a = b;
yield next;
// если уровень авторизации > 1, то продолжится выполнение
// иначе ошибка
// и управление попадет обработчику ошибок
...
SSO.checkMobileActivation(next)
Миддлвер для проверки уровня авторизации(подтверден либо документ, либо телефон)
Kind: static method of SSO
Throws:
- AuthError , 405 - уровень авторизации недостаточен
| Param | Description | | --- | --- | | next | переход к следующему миддлверу |
Example
//router file
router.get('/doSomething', require('path/to/handler.js', SSO.checkMobileActivation);
// path/to/handler.js
...
let a = b;
yield next;
// если уровень авторизации > 2, то продолжится выполнение
// иначе ошибка
// и управление попадет обработчику ошибок
...
SSO.checkDocumentActivation(next)
Миддлвер для проверки уровня авторизации(подтверден документ)
Kind: static method of SSO
Throws:
- AuthError , 405 - уровень авторизации недостаточен
| Param | Description | | --- | --- | | next | переход к следующему миддлверу |
Example
//router file
router.get('/doSomething', require('path/to/handler.js', SSO.checkMobileActivation);
// path/to/handler.js
...
let a = b;
yield next;
// если уровень авторизации > 3, то продолжится выполнение
// иначе ошибка
// и управление попадет обработчику ошибок
...
SSO.signIn(next)
Миддлвер для авторизации пользователя. Перед вызовом необходимо убедиться, что внутри this.authData находятся необходимые данные. Необходимые проперти - mail и password
Kind: static method of SSO
Throws:
- AuthError , 401 - неверный парль
| Param | Description | | --- | --- | | next | переход к следующему миддлверу |
Example
//router file
router.get('/signIn', require('path/to/handler.js', SSO.signIn);
// path/to/handler.js
...
let a = b;
yield next;
// если все хорошо, продолжится выполнение
// если пароль не верный, будет ошибка
// и управление попадет обработчику ошибок
...
SSO.logout(next)
Миддлвер для авторизации пользователя
Kind: static method of SSO
Throws:
- AuthError , 401 - неверный парль
| Param | Description | | --- | --- | | next | переход к следующему миддлверу |
Example
//router file
router.get('/logout', require('path/to/handler.js', SSO.logout);
// path/to/handler.js
...
let a = b;
yield next;
// если все хорошо, продолжится выполнение
// если пароль не верный, будет ошибка
// и управление попадет обработчику ошибок
...
SSO.checkPermission(user, fileId) ⇒ * | boolean
Проверка можно ли пользователю скачивать/просматривать файл
Kind: static method of SSO
Throws:
- DbError , 404 - файл не найден
- DbError , 404 - если файл доступен только людям из группы и автор файла не был найден
| Param | Description | | --- | --- | | user | пользователь(объект типа user) | | fileId | идентификатор файла для просмотра |