Laravel Sanctum通过个人访问令牌为移动App提供轻量级API认证,用户登录后生成带权限的token并返回明文,客户端在后续请求中携带Bearer Token;支持按场景分配read/write等权限,并可在登出时删除当前或所有设备token,结合安全存储机制保障API调用安全。

Laravel Sanctum 为移动 App 提供了一种轻量且安全的方式来生成和管理 API Token。它不像 Passport 那样复杂,适合不需要 OAuth 的场景,比如原生 App 或单页应用(SPA)通过 API 通信。
Sanctum 使用“个人访问令牌”(Personal Access Tokens)机制,每个用户可以拥有多个 token,每个 token 可设置权限和过期时间。
以下是为移动 App 用户生成 token 的基本流程:
$user = Auth::attempt($credentials);
if ($user) {
$token = $user->createToken('mobile-app');
return response()->json([
'token' => $token->plainTextToken,
'user' => $user
]);
}
注意:createToken() 返回的是 Laravel\Sanctum\NewAccessToken 对象,调用 plainTextToken 属性获取明文 token 并返回给客户端。
Sanctum 支持为 token 分配权限(scopes),便于限制其可访问的资源。
例如,你可以为只读操作和写入操作分配不同权限:
$user->createToken('app', ['read', 'write'])
$request->user()->tokenCan('write')
这样可以在敏感操作前进行判断,增强安全性。
移动 App 场景下,用户可能在多设备登录,需要支持登出、切换账号或清除 token。
常用管理方式包括:
$request->user()->currentAccessToken()->delete();
$user->tokens()->delete();
确保已正确配置 Sanctum:
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
config/sanctum.php 中确认状态守卫设置为 ['web'],API 使用 sanctum 中间件scheme:mobile 等命名策略时,确保中间件生效移动端请求必须在 Header 中携带 token:
Authorization: Bearer zuojiankuohaophpcnplain-text-token>
基本上就这些。Sanctum 简洁高效,特别适合移动 App 的 token 管理需求,只要注意 token 存储安全和及时清理无效 token,就能保障 API 接口的安全调用。
以上就是Laravel Sanctum如何为移动App生成和管理API Token的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号