Ich benutze Tymons JWTAuth, um die App in zustandsloser Weise durch Token mit der API zu verbinden. Aber das Problem ist, dass, wenn ich das Token dekodieren, auf den Nutzdaten, der iss
Wert ist die API-URL selbst.Laravel oder Lumen JWT entfernen Standardansprüche
Wie kann der Wert geändert werden, damit der Schlüssel nicht an das Token weitergegeben wird?
Hier ist der decodierte Wert des Tokens (I bearbeitet nur den Wert hier zum Beispiel Zwecke)
{
"iss": "http://localhost.com/api/",
"iat": 1111111111,
"exp": 2222222222,
"nbf": 3333333333,
"jti": "xxxxxxxxxxxxxx",
"sub": 1234,
"foo": "bar",
"baz": "bob"
}
Ich bin in der Lage individuelle Ansprüche hinzufügen, aber nicht in der Lage, die iss
Schlüssel zu entfernen.
$token = $jwt->attempt($request->only(['username', 'password']));
$customClaims = ['foo' => 'bar', 'baz' => 'bob'];
$payload = $jwtFactory->customClaims($customClaims)->make(true);
$token = $jwt->encode($payload);
if ($token === false) {
echo 'invalid credentials';
} else {
echo 'valid user';
}
Ich habe sogar versucht: $jwtFactory->iss('http://example.com')->foo(['lol'])->make();
und nur die foo
Schlüssel oder vielmehr die „individuelle Ansprüche“ Werte sind Änderung sind jedoch nicht die Standard-Ansprüche. Aber wie auf der documentation angegeben, könnte der Standardwert Schadenswerte geändert werden, wenn festgelegt.
haben Sie aus required_claims Array von jwt config entfernt? –
@JigarShah ja ich tat und es enthält immer noch die Standardansprüche. – basagabi
Ja, es wird standardmäßig wie in PayloadFactory –