Модули
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)
Настройка модуля(обязательно перед использованием) Настраивает логгер и соединение к бд Пример конфига:
{
"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();
loadContext
SSO.getContextMiddleware() ⇒ Получение миддлвера для загрузки контекста
Kind: static method of SSO
Throws:
-
Error
, модуль не был настроен
Example
app.use(SSO.getContextMiddleware());
boolean
SSO.isPasswordChangeAllowed(session) ⇒ Проверка можно ли пользователю менять пароль
Kind: static method of SSO
Returns: boolean
- , true - можно, false - нельзя
Param | Description |
---|---|
session | объект типа koa-session |
boolean
SSO.confirmPasswordChange() ⇒ Миддлвер для валидации ключа для смены, если ключ верный, то метод 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;
// если все хорошо, продолжится выполнение
// если пароль не верный, будет ошибка
// и управление попадет обработчику ошибок
...
*
| boolean
SSO.checkPermission(user, fileId) ⇒ Проверка можно ли пользователю скачивать/просматривать файл
Kind: static method of SSO
Throws:
-
DbError
, 404 - файл не найден -
DbError
, 404 - если файл доступен только людям из группы и автор файла не был найден
Param | Description |
---|---|
user | пользователь(объект типа user) |
fileId | идентификатор файла для просмотра |