Hey,
ich probiere mich zur Zeit mit der Token basierten Authentifizierung eines Nutzers bei einem Login aus. Dabei bin ich auf JSON Web Token (JWT) gestoßen.
Dafür nutze ich die Bibliothek ReallySimpleJWT.
Wichtig: Ich habe jetzt einfach mal zügig ein Login erstellt, welches nur zur Realisierung der Token basierten Authentifizierung dient und manche Sicherheitsaspekte nicht beachtet !
Ich dachte mir dabei, wie bei Cookies, einfach den Token zu erstellen. Dann wird der Token wohl automatisch lokal auf dem PC des Nutzers abgespeichert. Mit der Funktion getToken kann ich dann auf anderen Seiten auf diesen zugreifen. Da habe ich mich aber geirrt und weiß da gerade nicht weiter, wie ich auf den Token von anderen Seiten aus zugreifen kann.
So sieht der PHP-Code in der Login-Seite aus:
<?php
require "vendor/autoload.php";
use ReallySimpleJWT\Tokens;
$tokens = new Tokens();
if(isset($_POST["login"])){
$username = filter_var(trim($_POST["username"])) ?? null;
$password = $_POST["password"] ?? null;
if(!$username || !$password){
$error = "<p>The Username or Password are incorrect</p>";
}else{
if($password == "sec!ReT423*&"){
$userId = 12;
$expiration = time() + 3600;
$issuer = 'localhost';
$token = $tokens->create('id', $userId, $password, $expiration, $issuer);
header("Location: start.php");
exit;
}
}
}
Alles anzeigen
Auf der start.php möchte ich dann auf den abgespeicherten Token des Nutzers zugreifen. Leider finde ich da bisher keine Möglichkeit, da ohne diesen kaum eine Funktion aufgeruft werden kann.
Hat jemand von euch damit Erfahrungen und weiß, wie ich dies lösen kann? Darüber wäre ich sehr dankbar.
Schöne Grüße,
Stef