有一点关于 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 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 6

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

8年前 评论

找到地方了:
在文件 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');
    }
8年前 评论

你的这些问题解决了吗

6年前 评论
巴啦啦

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

5年前 评论