Модули
SSO
Методы
SSO
SSO~SSO
Kind: inner class of SSO
SSO.configure(config)
Настройка модуля(обязательно перед использованием)
Настраивает логгер и соединение к бд
Пример конфига:
{
"mongoose":{
"UsersUri": "mongodb://127.0.0.1/test_IStudentAPI",
"PSSUri": "mongodb://127.0.0.1/test_PSS",
"SSOUri": "mongodb://127.0.0.1/test_sso"
},
"sso":{
"session":{
"secret": "superSecretKey",
"key": "StudCloud:session:",
"cookie":{
"path": "/",
"maxAge":2592000000,
"httpOnly": true
}
}
},
"logs":{
"UAMS":{
"path": "/Users/anton/GitHub/SSO/logs/UAMS.log",
"label": "UAMS"
},
"SSO":{
"path": "/Users/anton/GitHub/SSO/logs/SSO.log",
"label": "SSO"
}
}
}
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
SSO.checkAuth(next)
Миддлвер для проверки авторизован ли пользователь или нет
Kind: static method of SSO
Throws:
AuthError
, 405 - уровень авторизации недостаточен
this: SSO
Param | Description |
---|
next | переход к следующему миддлверу |
Example
router.get('/doSomething', require('path/to/handler.js', SSO.checkAuth);
...
let a = b;
yield next;
...
SSO.checkMailActivation(next)
Миддлвер для проверки уровня авторизации(подтвердена либо почта, либо документ либо телефон)
Kind: static method of SSO
Throws:
AuthError
, 405 - уровень авторизации недостаточен
Param | Description |
---|
next | переход к следующему миддлверу |
Example
router.get('/doSomething', require('path/to/handler.js', SSO.checkMailActivation);
...
let a = b;
yield next;
...
SSO.checkMobileActivation(next)
Миддлвер для проверки уровня авторизации(подтверден либо документ, либо телефон)
Kind: static method of SSO
Throws:
AuthError
, 405 - уровень авторизации недостаточен
Param | Description |
---|
next | переход к следующему миддлверу |
Example
router.get('/doSomething', require('path/to/handler.js', SSO.checkMobileActivation);
...
let a = b;
yield next;
...
SSO.checkDocumentActivation(next)
Миддлвер для проверки уровня авторизации(подтверден документ)
Kind: static method of SSO
Throws:
AuthError
, 405 - уровень авторизации недостаточен
Param | Description |
---|
next | переход к следующему миддлверу |
Example
router.get('/doSomething', require('path/to/handler.js', SSO.checkMobileActivation);
...
let a = b;
yield next;
...
SSO.signIn(next)
Миддлвер для авторизации пользователя.
Перед вызовом необходимо убедиться, что внутри this.authData находятся необходимые данные.
Необходимые проперти - mail и password
Kind: static method of SSO
Throws:
AuthError
, 401 - неверный парль
Param | Description |
---|
next | переход к следующему миддлверу |
Example
router.get('/signIn', require('path/to/handler.js', SSO.signIn);
...
let a = b;
yield next;
...
SSO.logout(next)
Миддлвер для авторизации пользователя
Kind: static method of SSO
Throws:
AuthError
, 401 - неверный парль
Param | Description |
---|
next | переход к следующему миддлверу |
Example
router.get('/logout', require('path/to/handler.js', SSO.logout);
...
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 | идентификатор файла для просмотра |