使用Laravel护照进行api和web路由

时间:2017-06-05 14:33:23

标签: laravel api oauth routes laravel-passport

作为序言,我正在学习Laravel,Javascript和OAuth。

我想要的是让用户能够登录,获取授权密钥,在会话区域保存密钥(以及过期日期),然后使用此密钥作为" guard&#34 ;用于路由(返回视图)。

按照此处的说明操作后(使用Laravel护照和OAuth):

  

https://www.youtube.com/watch?v=D7gUz3RcTm8&t=18s   https://mattstauffer.co/blog/introducing-laravel-passport

     

https://scotch.io/@neo/getting-started-with-laravel-passport

我非常关注首先请求身份验证的Javascript客户端。获得它之后,我的理解是服务器返回了确实存储在会话中的信息(已批准的KEY和到期)。不幸的是,我没有看到这如何用于保护路线。

我错过了什么吗?我使用错误的工具来完成我想要完成的工作吗?

如果有," php artisan route:list",则返回以下内容:

| Domain | Method   | URI                                     | Name | Action                                                                     | Middleware   |
+--------+----------+-----------------------------------------+------+----------------------------------------------------------------------------+--------------+
|        | GET|HEAD | /                                       |      | Closure                                                                    | web          |
|        | GET|HEAD | api/user                                |      | Closure                                                                    | api,auth:ap

|        | DELETE   | oauth/personal-access-tokens/{token_id} |      | \Laravel\Passport\Http\Controllers\PersonalAccessTokenController@destroy   | web,auth     |
|        | GET|HEAD | oauth/scopes                            |      | \Laravel\Passport\Http\Controllers\ScopeController@all                     | web,auth     |
|        | POST     | oauth/token                             |      | \Laravel\Passport\Http\Controllers\AccessTokenController@issueToken        | throttle     |
|        | POST     | oauth/token/refresh                     |      | \Laravel\Passport\Http\Controllers\TransientTokenController@refresh        | web,auth 

|

" api"有什么区别?路线和" web"路线?什么是油门? API路由只返回JSON吗?

TIA

1 个答案:

答案 0 :(得分:0)

  

“api”路线和“网络”路线有什么区别?

webapi中间件是中间组,您可以在http\kernel中找到它们的定义。 web将启用网络应用的某些方面,例如Cookiesessioncsft token。虽然api仅检查throttle并绑定model controller

  

什么是油门?

throttle中间件用于限制呼叫路由的次数。

  

API路由只返回JSON?

由你决定。你可以回复你想要的东西。