@floydback

Какая готовая библиотека для авторизации VueJS существует?

Я нашел только https://github.com/websanova/vue-auth но назвать это готовым решением я не могу. Нормальной документации нет, чтобы разобраться пришлось лезть в их код, выдумывать самому что-то типа
const token = localStorage.getItem('user-token')
if (token) {
  axios.defaults.headers.common['Authorization'] = 'Bearer ' + token
}

и после танцев с бубнами, непонятно откуда эта библиотека делает запросы на корень сайта.

Честное слово, подумывают вернуться на cookie авторизацию. Может кто-то подскажет нормальную библиотеку, либо статью-инструкцию для авторизации в PSA приложении
ps мой стек: Rails (api-mode), Devise + VueJS (axios, routing, vuex)
  • Вопрос задан
  • 3997 просмотров
Решения вопроса 1
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
Всё настраивается нормально, документация говно прост.

Vue.use(VueAuth, {
    auth: require('./components/auth'),
    http: require('@websanova/vue-auth/drivers/http/axios.1.x.js'),
    router: require('@websanova/vue-auth/drivers/router/vue-router.2.x.js'),
    rolesVar: 'role',
    loginData: {url: '/api-token-auth/', method: 'POST', redirect: '/somepage', fetchUser: true},
    fetchData: {url: '/users/me/', method: 'GET', enabled: true},
    refreshData: {url: '/users/me/', method: 'GET', enabled: true, interval: 5},
    parseUserData: function(res) { return res; },
    logoutData: {url: 'auth/logout', method: 'POST', redirect: '/login', makeRequest: false},
});


components/auth.js
module.exports = {
    request: function (req, token) {
        this.options.http._setHeaders.call(this, req, { Authorization: 'Token ' + token });
    },

    response: function (res) {
        let token = res.data.token
        if (token) {
            return token;
        }
    }
};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы