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

建设网站的工作wordpress更改导航栏样式

建设网站的工作,wordpress更改导航栏样式,网站怎么在百度搜不到,绵阳网站建设策划内容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/a/512761.html

相关文章:

  • 企业网站建设时间表廊坊哪里有做阿里巴巴网站的
  • 使用 mina-sshd 库通过 SCP 上传文件并解决无法上传大文件的问题
  • apifox mock 假数据
  • 脑机接口:LFP相关知识
  • 外网访问象过河软件
  • dedecms小说网站模板下载wordpress收录提交插件
  • HarmonyOS 5 鸿蒙多设备适配与分布式开发指南
  • 使用C#代码删除 Excel 中的公式但保留数值
  • 科技设计网站广告设计制作发布
  • 网站域名管理怎么登陆网站响应式首页模板
  • 企业公司做网站企业网站访问对象有哪些
  • Eureka 多层缓存机制详解
  • HarmonyOS 5 鸿蒙Context上下文机制与资源管理详解
  • wordpress播放器插件杭州百度seo
  • 网站维护费用2021国内军事新闻大事件
  • vue 中 directive 作用,使用场景和使用示例
  • Orleans 与 Kubernetes 完整集成指南
  • 珠海网站建设网有心学做网站
  • 网站建设 教学大纲wordpress 文章查询
  • 推广方案设计台州seo优化公司
  • 新浪微博 搭建网站建立网站的方案
  • 用易语言做抢购网站软件下载云搜索神器
  • C#上位机软件:2.5 体验CLR实现多语言混合编程
  • 网页站点江苏网站集约化建设
  • 怎么把做的网站传怎样设置自己的网站
  • 安徽网站设计哪家效果好茂名做网站的公司
  • Linux C/C++ 学习日记(29):IO密集型与CPU密集型、CPU的调度与线程切换
  • 网站布局案例网站内容如何管理
  • (持续更新中!!~)30、原来可以这样理解C语言_项⽬实践-贪吃蛇
  • 信息展示网站余姚企业网站建设公司