@anzuev/studcloud.sso

2.0.13 • Public • Published

Модули

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

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 идентификатор файла для просмотра

Readme

Keywords

Package Sidebar

Install

npm i @anzuev/studcloud.sso

Weekly Downloads

20

Version

2.0.13

License

ISC

Last publish

Collaborators

  • anzuev