/** * @param Authenticatable $user * @return Token */ public function createTokenForUser(Authenticatable $user) { $builder = new Builder(); $id = $user->getAuthIdentifier(); $builder->setSubject($id); if ($user instanceof ProvidesCredentials) { $builder = $this->applyClaims($user->getCredentials(), true, $builder); } $builder->setExpiration($this->getExpirationTimestamp()); $builder->setId(Str::random()); return $this->signer->sign($builder)->getToken(); }