web-app-runtime
Project setup
npm install
Compiles and minifies for production
npm run build
Using plugin
import Vue from 'vue'
import store from '@/store'
import model from '@/app-model'
import appRunner from '@it-enterprise/web-app-runtime'
import auth from '@it-enterprise/jwtauthentication'
import router from '@/router'
Vue.use(appRunner, {
store, // ref to vuex store
auth, // ref to authentication core
router, // ref to vue router
model // ref to application model
})
// attach event listeners to auth event bus
Vue.$authEventBus.onBeforeSignIn(() => {
store.commit('CLEAR_ERROR')
})
Vue.$authEventBus.onAfterSignIn(() => {
})
Vue.$authEventBus.onSignInError((message) => {
store.commit('SET_ERROR', message)
})
Vue.$authEventBus.onStartProcessing(() => {
store.commit('SET_PROCESSING', true)
})
Vue.$authEventBus.onEndProcessing(() => {
store.commit('SET_PROCESSING', false)
})
Vue.$authEventBus.onUpdateUserData(() => {
store.dispatch('SET_ADDITIONAL_DATA')
Vue.$authCore.SetUserRole('User')
})
Installed Vue global properties
Vue.$authCore
Name | Member type | Description |
---|---|---|
isAuthenticated |
property |
true Пользователь авторизовался false Анонимный пользователь |
userRole |
property | Роль пользователя в приложении |
userLogin |
property | Логин пользователя |
SignIn |
method | Аутентифицироваться Агрументы: params: { email:string, password:string, keepSigned:boolean }
|
SignOut |
method | Выход из системы |
SetUserRole |
method | Установить роль пользователя Аргументы: userRole:string
|
Vue.$routerCore
Name | Member type | Description |
---|---|---|
UserRole |
property | Роль текущего пользователя (в том числе анонимного) |
GetSignInPage |
method | Получить страницу аутентификации |
HaveAccessToPage |
method | Проверка наличия доступа к странице Аргументы: page:AppPage
|
GetHomePage |
method | Получить домашнюю страницу (с учетом домашних страниц согласно ролей) |
GoToSignIn |
method | Перейти на страницу аутентификации |
GoToHomePage |
method | Перейти на домашнюю страницу (с учетом роли пользователя) |
SetAdditionalUserDataHandler |
method | Привязать функцию получения дополнительных данных о пользователе. Вызывается после аутентификации |
Vue.$authEventBus
Шина событий аутентификации Описание методов привязки к событиям:
Name | Description |
---|---|
onBeforeSignIn |
Срабатывает непосредственно перед аутентификацией |
onAfterSignIn |
Срабатывает непосредственно после успешной аутентификации |
onSignOut |
Срабатывает непосредственно после выхода пользователя из системы |
onSignInError |
Срабатывает при ошибке входа. Передаёт в обработчик текст ошибки |
onStartProcessing |
Срабатывает при старте любого обращения к API |
onEndProcessing |
Срабатывает при завершении обращения к API |
onUpdateUserData |
Срабатывает при получении данных о пользователе |