有一点关于 Laravel 使用 token 及 token 的问题。

因为api一般都使用token来验证身份,所以想了解下在laravel下怎么使用token来验证,这几天脑袋都大了
有几个问题求教一下,

1、这个token到底是怎么来的呢,对于只给自己客户端使用的api是不是,用户名:密码->获取token,本地保存token,之后请求的时候都带着这个token。

2、传的token放在哪呢,一般是放在url或者input hidden里嘛?小伙伴说放在header里,那一般都放哪呢。

3、laravel验证完用户名密码以后,token有默认保存的地方嘛?

4、跳转登录页的问题,用了auth中间件以后,抛出AuthenticationException就会跳转到/login,但是我觉得web和api应该跳到不同的页面,这个要怎么改呢,还有laravel处理异常是在哪呢。

感觉问题有点新手。还是麻烦大家了。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

4知道了,今天看了下Errors & Logging

7年前 评论

找到地方了:
在文件 app/Exceptions/Handler.php 的 unauthenticated 方法添加:

    protected function unauthenticated($request, AuthenticationException $exception)
    {
        if ($request->expectsJson()) {
            return response()->json(['error' => 'Unauthenticated.'], 401);
        }

        //如果是后台页面未认证,跳转到后台登陆页面
        $guard = $exception->guards();
        if (in_array('admin', $guard)) {
            return redirect()->guest('/admin/login');
        }

        return redirect()->guest('login');
    }
7年前 评论

你的这些问题解决了吗

5年前 评论
巴啦啦

1、这个 token 到底是怎么来的呢,对于只给自己客户端使用的 api 是不是,用户名:密码 -> 获取 token,本地保存 token,之后请求的时候都带着这个 token。
答:你说的没错,是这样的,token 由服务端根据一定的规则下发到客户端的。
2、传的 token 放在哪呢,一般是放在 url 或者 input hidden 里嘛?小伙伴说放在 header 里,那一般都放哪呢。
答:一般是放在 header 里。
3、laravel 验证完用户名密码以后,token 有默认保存的地方嘛?
答:没有的,你需要自己保存,一般是保存在内存中,我是使用的 jwt 保存在 redis 中。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!