Laravel Passport 401使用Apache和Vue时未经授权的错误

时间:2016-12-02 12:48:42

标签: apache .htaccess laravel laravel-5 http-headers

我正在尝试使用vue和laravel护照连接生成laravel用户API,但我在标题中不断收到授权错误。这是我的代码

<script>
import Hello from './components/Hello'

export default {
  name: 'app',

  components: {
    Hello
  },
  created () {
    const postData = {
      grant_type: 'password',
      client_id: 2,
      client_secret: 'sXdg5nOO4UU2muiHaQnTq4hDQjyj17Kd9AeKuNEx',
      username: 'robertrutenge@gmail.com',
      password: 'password',
      scope: ''

    }
    this.$http.post('http://localhost:8000/oauth/token', postData)

   .then(response => {
     console.log(response)

     const header = {
       'Accept': 'application/json',
       'Authorization': ~'Bearer ' + response.body.access_token
     }
     this.$http.get('http://localhost:8000/api/user', {headers: header})

     .then(response => {
       console.log(response)
     })
   })
  }
}
</script>

我做了一项研究,大多数答案建议修改apache配置文件或.htaccess文件,但这似乎也不适合我。任何帮助将不胜感激: - )

3 个答案:

答案 0 :(得分:1)

我认为如果您的vue应用程序和laravel应用程序结合在一起,那么您可以使用没有任何授权标头的api,您只需要发送X-CSRF-TOKEN并在每次请求时发送该令牌,无需在此处发送授权检查< / p>

https://laravel.com/docs/5.3/passport#consuming-your-api-with-javascript

答案 1 :(得分:0)

这在vue.js或larvel中没有问题。我将我的Laravel API从Apache移动到nginx然后工作正常。我像这样更新了我的中间件处理程序。然后在Apache服务器上正常工作

SessionFactory

答案 2 :(得分:0)

解决(2) 去 AuthServiceProvider.php

keypoint:设置令牌的到期时间

护照:: tokensExpireIn(碳::现在() - &GT; addDays(1));

您必须设置令牌过期 无法无限