Получить пользователя и токен из логина ответа laravel api + vuejs - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь получить токен в localStorage и по этому токену получать информацию о пользователе, все это из ответа входа в систему, чтобы можно было определить, является ли это администратором или нет, и перенаправить на подходящую панель мониторинга. Это хорошо работает в localhost, проблема, когда я помещаю свое приложение на онлайн-сервер, я получаю только токен, и для деталей пользователя я получаю сообщение об ошибке 401 с сообщением: «Не аутентифицирован».

Это моя функция входа в vuejs. , Некоторые переменные импортированы из config.js

import axios from 'axios'
import Router from '../routes.js'
import {
    loginUrl,
    getHeader,
    auth,
    userUrl
} from './../config'
data() {
        return {
            email: '',
            password: '',
            error: false
        }
    },

    methods: {
        login() {
            const postData = {
                email: this.email,
                password: this.password,
            }
            const authUser = {}
            this.$http.post(loginUrl, postData)
                .then(response => {
                    if (response.status === 200) {
                        console.log('Oauth token', response)
                        authUser.access_token = response.data.token
                        //authUser.email = response.data.email
                        authUser.refresh_token = response.data.refresh_token
                        window.localStorage.setItem('authUser', JSON.stringify(authUser))
                        this.$http.get(userUrl, {
                                headers: getHeader()
                            })
                            .then(response => {
                                console.log('user object', response)
                                authUser.email = response.data.user.email
                                authUser.name = response.data.user.name
                                authUser.prenom = response.data.user.prenom
                                authUser.cin = response.data.user.cin
                                authUser.niveau = response.data.user.niveau
                                authUser.code_am = response.data.user.code_am
                                authUser.adresse = response.data.user.adresse
                                authUser.tel = response.data.user.tel
                                authUser.is_admin = response.data.user.is_admin
                                authUser.id = response.data.user.id
                                authUser.photo = response.data.user.photo
                                authUser.photo_cin = response.data.user.photo_cin
                                authUser.photo_verso = response.data.user.photo_verso
                                authUser.photo_diplome = response.data.user.photo_diplome
                                window.localStorage.setItem('authUser', JSON.stringify(authUser))
                                this.$store.dispatch('setUserObject', authUser)
                                this.$router.push({
                                    name: 'Accueil'
                                })
                            })
                    }
                })
        },
    }

, и это мой код config.js:

export const apiDomain = '....'
export const loginUrl = apiDomain + '/api/auth/login'
export const userUrl = apiDomain + '/api/auth/profile'
export const getHeader = function () {
    const tokenData = JSON.parse(window.localStorage.getItem('authUser'))
    const headers = {
        'Accept': 'application/json',
        'Authorization': 'Bearer ' + tokenData.access_token
    }
    return headers
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...