美文网首页
laravel5.4 passport验证流程

laravel5.4 passport验证流程

作者: jacklin1992 | 来源:发表于2017-10-16 16:16 被阅读16次

    passport

    1. 按照文档搭建环境

    2. 生成token 返回给前台

       $user = User::create($input);
       $success['token'] =  $user->createToken('MyToken')->accessToken;
       return response()->json(['success'=>$success], $this->successStatus);  
      
    图片.png

    3 . 在需要防护的api外加上中间件

        Route::group(['middleware' => 'auth:api'], function(){
          Route::post('details', 'Api\UserController@details');
        });                   
    

    4 . 前台请求接口的时候, 设置请求头,并且将token加到请求头中

    var $accessToken = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImYxZDdjYzY3ZWRhYzM1MGM3YjY0OGRjN2U0NjM3Y2Q5MWI1YjYxZDc0ZmI2MDJmNTJmZDE2NTU5YzUxYWUwMjk0OWIzNDQ5MzcyNjJhZTgxIn0.eyJhdWQiOiIxIiwianRpIjoiZjFkN2NjNjdlZGFjMzUwYzdiNjQ4ZGM3ZTQ2MzdjZDkxYjViNjFkNzRmYjYwMmY1MmZkMTY1NTljNTFhZTAyOTQ5YjM0NDkzNzI2MmFlODEiLCJpYXQiOjE0OTczMTk0MzIsIm5iZiI6MTQ5NzMxOTQzMiwiZXhwIjoxNTI4ODU1NDMyLCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.U1ElWxuQTteai1o94YCax_zmfBSr9M0y5TSfJT-0EYAWxqf6r5ljOIFXWCgLLxhGNJxzeUD0HxUAm6wjhv6mB0_V073NSXa4IBwsISoEUMjzFBkNZ3OMft4Q9MX1bwTqNP30RPXGlREhLtCMW8dmFkLW2lRXj56SJS-zeG3EIKq6b7nw8-Lla5eFoBNb2oksDDbAA7SXBLBQD0vw3MdKsUYPs2asLYDaNv7n4GA5X2U1dRnnmAGIUpoqOJJdK9tvGRKSb4yaUhHy_NOAOhzEsDG2U_tKYRrH2IL5E-MWxFb-qZNVMctLspn3FF0ATeNgQPSoQFOZoZawrt7iI60bFEvmHl4Hl6k-fUZzIaCpkD_Bl_K0Jmx_8UQE-eJXsmKH-RAhhY2eGOesHeQlK6KR6SAOa5gPB57RMLNmeumSugNpxNFwKGBOBy2gAWjeDQvqIPwtvr_g52P0kOpxJROV0cQQk1xrXFB4kK7J7Zb_0MTcknNBCONm-t3enGd22846CbQf_0bnN7jTNnFI4ahH2T8xRVgqh7b2wdHudIYgAmDEvKn9f7bU1JsdLZlwePJfZBmI4G27KVq_BGKOyI39yi_xdvaLnXfCFqbjoUVCEp56iWTDiy2pZ3JBe9rxKtIV-6fqx-SlEzHqmriGCPIoAXiWFY60pH1g8D5icweADm0';
                $.ajax({
                    type:'post',
                    data:'',
                    url:'/api/details',
                    headers:{
                        'Accept' : 'application/json',
                        'Authorization' : 'Bearer ' + $accessToken
                    },
                    success:function(data){
                        alert('success');
                        console.log(data);
                    }
                });
            })
        })
    

    如果302重定向,说明请求头没有设置好,如果报500说明token错误

    总结

    1. 服务端生成token
    2. native拿到token之后存到本地
    3. 请求时通过请求头携带token,请求已经加了中间件验证的接口
    4. 服务端并没有保存token,而是通过一系列的算法,判断计算出的值与你傳来的token是否一直
    5. 这个token只有时效性,多次生成token之后,前面的token依然有效,目前掌握的知识暂时无法实现单点登录,下一步开始研究reac native本地存储和接口访问,最后研究单点登录

    相关文章

      网友评论

          本文标题:laravel5.4 passport验证流程

          本文链接:https://www.haomeiwen.com/subject/lgldqxtx.html