Laravel 8 颁发 API 令牌
开始时,创建接受用户的电子邮件 / 用户名、密码和设备名称的路由,然后将这些凭据交换为新的 Sanctum 令牌。终端将返回纯文本 Sanctum 令牌,然后该令牌可以存储在移动设备上,并用于发出其他 API 请求:
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\ValidationException;
Route::post('/sanctum/token', function (Request $request) {
$request->validate([
'email' => 'required|email',
'password' => 'required',
'device_name' => 'required',
]);
$user = User::where('email', $request->email)->first();
if (! $user || ! Hash::check($request->password, $user->password)) {
throw ValidationException::withMessages([
'email' => ['The provided credentials are incorrect.'],
]);
}
return $user->createToken($request->device_name)->plainTextToken;
});
当移动设备使用令牌向你的应用程序发出 API 请求时,它应将令牌作为 Bearer
令牌传递到 Authorization
请求头中。
技巧:在为移动应用程序发行令牌时,您还可以自由指定 token abilities。