Hej,
Mam pewien problem z integracją kody ktory mi podesłano, a dokładniej:
Posiadam apkę która korzysta z laravela oraz sanctum do logowania przy pomocy tokenów. Chiałbym zmodyfikować sanctum'a tak aby przechowywał także ip, typ urządzenia i przeglądarkę. Jedynie czego nie potrafiłem zrobić, to przesłać dodatkowe parametry.
Pewna osoba przesłała mi coś takiego, ale nie za bardzo rozumiem:
Stwórz swój własny token model a następnie użyj:
Sanctum::usePersonalAccessTokenModel(YourTokenModel::class)
W dwóch funkcji booot w AppServiceProvider. Następnie zmodyfikuj createToken w modelu usera
/**
* Create a new personal access token for the user.
*
* u/param string $name
* u/param array $abilities
* u/return \Laravel\Sanctum\NewAccessToken
*/
public function createToken(string $name, array $abilities = ['*'])
{
$token = $this->tokens()->create([
'name' => $name,
'ip_address' => request()->ip(),
'token' => hash('sha256', $plainTextToken = Str::random(80)),
'abilities' => $abilities,
]);
return new NewAccessToken($token, $plainTextToken);
}
I tutaj pytanie. Model tokena ma mieć tą samą nazwę co tabela w bazie danych? Czy ma być on pusty?
W modelu user nie znajduje się funkcja odpowiadająca za stworzenie tokenu.
Czy model tokenu ma być pusty ?