Socket
Socket
Sign inDemoInstall

@anzuev/studcloud.sso

Package Overview
Dependencies
10
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @anzuev/studcloud.sso

SSO for StudCloud project.


Version published
Maintainers
1
Install size
34.3 MB
Created

Readme

Source

Модули

SSO

  • 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

ParamDescription
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 - нельзя

ParamDescription
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

ParamDescription
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 - уровень авторизации недостаточен
ParamDescription
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 - уровень авторизации недостаточен
ParamDescription
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 - уровень авторизации недостаточен
ParamDescription
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 - неверный парль
ParamDescription
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 - неверный парль
ParamDescription
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 - если файл доступен только людям из группы и автор файла не был найден
ParamDescription
userпользователь(объект типа user)
fileIdидентификатор файла для просмотра

Keywords

FAQs

Last updated on 04 Aug 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc