Laravel Possport API认证步骤图文解析,有哪些关键细节?

2026-05-07 03:501阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计417个文字,预计阅读时间需要2分钟。

Laravel Possport API认证步骤图文解析,有哪些关键细节?

7. 在 `AuthServiceProvider` 的 `boot` 方法中添加 `Passport::routes();`。

8.最后,修改文件 `config/auth.php` 中 `api` 部分的授权保护项(driver)改为 `passport`。

此调整会使你的应用程序在接收API的授权请求时使用Passport的TokenGuard来处理。

Route::group(['namespace'=>'api'], function(){ // 无需认证路由 Route::match(['get','post'],'/login', 'UserController@login')->name('login'); Route::post('/register', 'UserController@register'); // 需认证路由 Route::group(['middleware' => 'auth:api'], function(){ Route::get('/v1/passport', 'UserController@passport'); }); });

10.增加控制器

php artisan make:controller Api\UserController

<?php namespace App\Http\Controllers\Api; use App\User; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Validator; class UserController extends Controller{ public function __construct(){ $this->content = array(); } public function login(){ //dd(request('name')); if(Auth::attempt(['name' => request('name'), 'password' => request('password')])) { $user = Auth::user(); $this->content['token'] = $user->createToken(request('name'))->accessToken; $status = 200; } else { $this->content['error'] = "未授权"; $status = 401; } return response()->json($this->content, $status); } public function passport(){ return response()->json(['user' => Auth::user()]); } /** * 注册用户创建token */ public function register(Request $request){ $input = $request->all(); $validator = Validator::make($input, [ 'email' => 'required|string|email|max:255|unique:users|min:4', 'password' => 'required|string|min:6', ]); if ($validator->fails()) { return response()->json(['error'=>$validator->errors()], 401); } $input['password'] = bcrypt($input['password']); $user = User::create($input); if( $user !==false){ $success['token'] = $user->createToken($input['name'])->accessToken; $success['email'] = $user->email; $success['uid'] = $user->id; return response()->json(['error_code'=>0,'data'=>$success], 200); } return response()->json(['error_code'=>1,'data'=>$input], 401); } }

11.通过postman进行简单测试获取token  
注册:
接口地址:http://gems.com/api/register

登录:http://gems.com/api/login

测试获取用户信息:http://gems.com/api/v1/passport

相关文章推荐:

laravel框架模型model的创建与使用方法

laravel5.5框架中视图间如何共享数据?视图间共享数据的两种方法(附代码)

标签:认证

本文共计417个文字,预计阅读时间需要2分钟。

Laravel Possport API认证步骤图文解析,有哪些关键细节?

7. 在 `AuthServiceProvider` 的 `boot` 方法中添加 `Passport::routes();`。

8.最后,修改文件 `config/auth.php` 中 `api` 部分的授权保护项(driver)改为 `passport`。

此调整会使你的应用程序在接收API的授权请求时使用Passport的TokenGuard来处理。

Route::group(['namespace'=>'api'], function(){ // 无需认证路由 Route::match(['get','post'],'/login', 'UserController@login')->name('login'); Route::post('/register', 'UserController@register'); // 需认证路由 Route::group(['middleware' => 'auth:api'], function(){ Route::get('/v1/passport', 'UserController@passport'); }); });

10.增加控制器

php artisan make:controller Api\UserController

<?php namespace App\Http\Controllers\Api; use App\User; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Validator; class UserController extends Controller{ public function __construct(){ $this->content = array(); } public function login(){ //dd(request('name')); if(Auth::attempt(['name' => request('name'), 'password' => request('password')])) { $user = Auth::user(); $this->content['token'] = $user->createToken(request('name'))->accessToken; $status = 200; } else { $this->content['error'] = "未授权"; $status = 401; } return response()->json($this->content, $status); } public function passport(){ return response()->json(['user' => Auth::user()]); } /** * 注册用户创建token */ public function register(Request $request){ $input = $request->all(); $validator = Validator::make($input, [ 'email' => 'required|string|email|max:255|unique:users|min:4', 'password' => 'required|string|min:6', ]); if ($validator->fails()) { return response()->json(['error'=>$validator->errors()], 401); } $input['password'] = bcrypt($input['password']); $user = User::create($input); if( $user !==false){ $success['token'] = $user->createToken($input['name'])->accessToken; $success['email'] = $user->email; $success['uid'] = $user->id; return response()->json(['error_code'=>0,'data'=>$success], 200); } return response()->json(['error_code'=>1,'data'=>$input], 401); } }

11.通过postman进行简单测试获取token  
注册:
接口地址:http://gems.com/api/register

登录:http://gems.com/api/login

测试获取用户信息:http://gems.com/api/v1/passport

相关文章推荐:

laravel框架模型model的创建与使用方法

laravel5.5框架中视图间如何共享数据?视图间共享数据的两种方法(附代码)

标签:认证