Laravel 8 发行 API 令牌
可以使用 Sanctum 发行 API 令牌 / 个人访问令牌 对你的 API 请求进行认证。 当使用 API 令牌进行请求的时,令牌可以以 Bearer
的形式包含在 Authorization header
头里。
给用户发行令牌的时候,User 模型里应该使用 HasApiTokens
trait:
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
}
要发行一个令牌,需要使用 createToken
方法。 createToken
方法返回一个 Laravel\Sanctum\NewAccessToken
实例。在存入数据库之前,API 令牌已使用 SHA-256 哈希加密过,但是可以用 NewAccessToken
实例的 plainTextToken
属性访问令牌的纯文本值。令牌创建后,应该立即向用户展示这个纯文本值:
$token = $user->createToken('token-name');
return $token->plainTextToken;
可以使用 HasApiTokens
trait 提供的 tokens
Eloquent 关联关系来获取所有的用户令牌:
foreach ($user->tokens as $token) {
//
}