Laravel 实战开发知乎:前后端分离 API token 认证
wl876645

大神更新好快~
如果我前端登录的组件用vue。 通过dingoapi到自己写的login方法验证。之后怎么才能在web上使用Auth:user()的方法获取到我api登录的用户。。就是我用api请求登录了验证成功,routes\web.php 用Auth::routes(); 用自带的http://localhost/login路由请求,他会提示已登录

JellyBool

依然是:

Auth::guard('api')->user();

可以再描述清楚一点么?我感觉看得有点乱

wenjie_zheng

api_token 应该是每次登录的时候会变吧?

JellyBool

不会的啊,因为这是存放在数据库中的,当然如果需要修改的话,可以提供一个用户重置 api_token 的功能

yuze wang

忍受不了,下一节的button 换到了下一行,犯病了,抢救中

JellyBool

额。。。这个是因为 title 太长了吧

746019546

`Vue.http.interceptors.push((request, next) => {

request.headers.set('X-CSRF-TOKEN', Laravel.csrfToken);
request.headers.set('Authorization', Laravel.apiToken);
next();

});`

746019546

`
Vue.http.interceptors.push((request, next) => {

request.headers.set('X-CSRF-TOKEN', Laravel.csrfToken);
request.headers.set('Authorization', Laravel.apiToken);
next();

});
`
`

    window.Laravel = <?php echo json_encode([
        'csrfToken' => csrf_token(),
    ]); ?>;

    Laravel.apiToken = "{{ Auth::check() ? 'Bearer '.Auth::user()->api_token : 'Bearer ' }}";

`

我按照这个操作,还是提示401,看了好几遍视频了.结果还是一样

JellyBool

仔细看看,这个基本上小问题,拼写或者是不太认真

laixiaojie

请问一下群主~如果要实时刷新关注者的数据而不是刷新后才更新数据,基本思路是什么,感觉肯定是用Ajax,但是不太清楚怎么写,以前用Angular实现过类似的使用过.$watch来监控,然后是用的Angular来渲染的页面,这里用Laravel渲染不知道怎么实现,能给个思路吗

JellyBool

最简单的不就是 jquery 更新一下关注者的数字吧。或者你也可以使用 vuejs 解决

ukissme520

手机和pad无法播放,why?

JellyBool

我这 iphone 6s plus 可以,有可能是 videojs 的bug

insertSweat

我添加api_token字段时,报以下错误

 SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' fo
  r key 'users_api_token_unique' (SQL: alter table `users` add unique `users_
  api_token_unique`(`api_token`))
JellyBool

应该是出现了两个 api_token 为空的情况,你手动设置一下就行