当前位置: 首页 > wzjs >正文

做网站的专业叫什么网站推广关键词排名优化

做网站的专业叫什么,网站推广关键词排名优化,做网站要考虑的问题,建设高端网站公司Laravel 12 实现 API 登录令牌认证 在 Laravel 12 中实现基于令牌(Token)的 API 认证,可以使用 Laravel Sanctum 或 Laravel Passport。以下是两种方式的实现方法: 方法一:使用 Laravel Sanctum (轻量级 API 认证) 1. 安装 Sanctum compo…

Laravel 12 实现 API 登录令牌认证

在 Laravel 12 中实现基于令牌(Token)的 API 认证,可以使用 Laravel Sanctum 或 Laravel Passport。以下是两种方式的实现方法:

方法一:使用 Laravel Sanctum (轻量级 API 认证)

1. 安装 Sanctum

composer require laravel/sanctum

2. 发布 Sanctum 迁移和配置文件

php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"

3. 运行数据库迁移

php artisan migrate

4. 配置 Sanctum

在 config/sanctum.php 中配置(通常保持默认即可)

5. 修改用户模型

在 app/Models/User.php 中添加 HasApiTokens trait:

use Laravel\Sanctum\HasApiTokens;class User extends Authenticatable
{use HasApiTokens, HasFactory, Notifiable;// ...
}

6. 创建认证路由

在 routes/api.php 中添加:

use App\Http\Controllers\AuthController;Route::post('/login', [AuthController::class, 'login']);
Route::middleware('auth:sanctum')->post('/logout', [AuthController::class, 'logout']);
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {return $request->user();
});

7. 创建认证控制器

php artisan make:controller AuthController

在 app/Http/Controllers/AuthController.php 中:

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Models\User;class AuthController extends Controller
{public function login(Request $request){if (!Auth::attempt($request->only('email', 'password'))) {return response()->json(['message' => 'Invalid login details'], 401);}$user = User::where('email', $request['email'])->firstOrFail();$token = $user->createToken('auth_token')->plainTextToken;return response()->json(['access_token' => $token,'token_type' => 'Bearer',]);}public function logout(Request $request){$request->user()->currentAccessToken()->delete();return response()->json(['message' => 'Successfully logged out']);}
}

8. 测试 API

使用 Postman 或 cURL 测试:

登录请求:‌

curl --location --request POST 'http://your-app.test/api/login' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{"email": "user@example.com","password": "password"
}'

获取用户信息:‌

curl --location --request GET 'http://your-app.test/api/user' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_TOKEN_HERE'

方法二:使用 Laravel Passport (OAuth2 全功能实现)

1. 安装 Passport

composer require laravel/passport

2. 运行数据库迁移

php artisan migrate

3. 安装 Passport

php artisan passport:install

4. 配置 Passport

在 app/Models/User.php 中添加:

use Laravel\Passport\HasApiTokens;class User extends Authenticatable
{use HasApiTokens, HasFactory, Notifiable;// ...
}

在 config/auth.php 中设置 API 驱动:

'guards' => ['api' => ['driver' => 'passport','provider' => 'users',],
],

5. 创建认证路由

在 routes/api.php 中添加:

use App\Http\Controllers\AuthController;Route::post('/login', [AuthController::class, 'login']);
Route::middleware('auth:api')->post('/logout', [AuthController::class, 'logout']);
Route::middleware('auth:api')->get('/user', function (Request $request) {return $request->user();
});

6. 创建认证控制器

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Models\User;class AuthController extends Controller
{public function login(Request $request){$credentials = $request->only('email', 'password');if (!Auth::attempt($credentials)) {return response()->json(['message' => 'Unauthorized'], 401);}$user = $request->user();$tokenResult = $user->createToken('Personal Access Token');$token = $tokenResult->accessToken;return response()->json(['access_token' => $token,'token_type' => 'Bearer','expires_at' => $tokenResult->token->expires_at->toDateTimeString()]);}public function logout(Request $request){$request->user()->token()->revoke();return response()->json(['message' => 'Successfully logged out']);}
}

令牌刷新机制(可选)

如果需要实现令牌刷新功能,可以添加以下路由和方法:

Route::post('/refresh', [AuthController::class, 'refresh']);// 在 AuthController 中添加
public function refresh(Request $request)
{$user = $request->user();$user->token()->revoke();$tokenResult = $user->createToken('Personal Access Token');return response()->json(['access_token' => $tokenResult->accessToken,'token_type' => 'Bearer','expires_at' => $tokenResult->token->expires_at->toDateTimeString()]);
}

选择建议

Sanctum‌:适合简单的 SPA 或移动应用认证,轻量级

Passport‌:适合需要完整 OAuth2 功能的复杂应用

希望能帮助你在 Laravel 12 中成功实现基于令牌的认证系统!

http://www.dtcms.com/wzjs/162712.html

相关文章:

  • 绥化北京网站建设seo顾问服务咨询
  • 做网站是怎么做的小红书kol推广
  • 做旅游景区网站网站点击率查询
  • flashfxp如何发布网站北京搜索引擎优化经理
  • 佛山网站建设公司自助建站模板
  • 盐山县招聘网站建设网站怎么优化排名靠前
  • 番禺建设网站公司百度seo优化排名软件
  • 金坛做网站的google框架三件套
  • 淄博学校网站建设报价都有什么推广平台
  • dnf做心悦宠物的网站天津seo优化排名
  • 报告网站开发环境百度关键词排名神器
  • 深圳设计网站公司网站口碑营销的优势有哪些
  • redis 密码 wordpressseo免费课程
  • 海外 酒店 网站建设网站seo诊断技巧
  • 门户网站建设技术要求网站策划是做什么的
  • 专业做网站路桥品牌推广包括哪些内容
  • 怎么做微信里的网页网站链接申请一个网站
  • 怎么增加网站收录百度站长平台app
  • 建筑资源网站深圳seo外包
  • 老会计手把手教做帐官方网站问卷调查网站
  • 腾讯云做网站需要报备360投放广告怎么收费
  • html新闻列表合肥seo优化公司
  • wordpress 文章排版杭州新站整站seo
  • 做网站 中文字体是用什么seo排名怎样
  • 网站安全管理制度建设下载网站推广优化技巧
  • 长沙培训网站建设参考网是合法网站吗?
  • 中建南方建设集团网站小说推广平台有哪些
  • 百度网址ip地址哪里能搜索引擎优化
  • 怎么做软文链接打开后是自定义网站4001688688人工服务
  • 辽宁建设厅规划设计网站崇左seo