Ich habe versucht, JWT in Java zu verwenden

Überblick

Notieren Sie sich die Einführung von JWT mithilfe der Java-Bibliothek.

Was ist JWT?

Token Beispiel

――Der ganze Token sieht so aus

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRoMCJ9.izVguZPRsBQ5Rqw6dhMvcIwy8_9lQnrO3vpxGwPCuzs
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9

--Wenn Sie den Header dekodieren

{"typ":"JWT","alg":"HS256"}
eyJpc3MiOiJhdXRoMCJ9

--Wenn Sie Payload dekodieren

{"iss":"auth0"}

Ich habe es tatsächlich in Java geschrieben

--Umgebung - java8 --java-jwt (Java-Bibliothek, die JWT verarbeitet, die auch auf jwt.io veröffentlicht wird)

try {
    Date expireTime = new Date();
    expireTime.setTime(expireTime.getTime() + 600000l);

    Algorithm algorithm = Algorithm.HMAC256("secret");
    String token = JWT.create()
            .withIssuer("auth0")
            .withExpiresAt(expireTime)
            .sign(algorithm);
} catch (JWTCreationException exception){
    //Invalid Signing configuration / Couldn't convert Claims.
}

--Token Überprüfung

String token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRoMCJ9.izVguZPRsBQ5Rqw6dhMvcIwy8_9lQnrO3vpxGwPCuzs";
try {
    Algorithm algorithm = Algorithm.HMAC256("secret");
    JWTVerifier verifier = JWT.require(algorithm)
            .withIssuer("auth0")
            .build(); //Reusable verifier instance
    DecodedJWT jwt = verifier.verify(token);
} catch (JWTVerificationException exception){
    //Invalid signature/claims
}

Ich fühle mich gebraucht

Recommended Posts

Ich habe versucht, JWT in Java zu verwenden
Ich habe versucht, die Elasticsearch-API in Java zu verwenden
Ich habe versucht, Java REPL zu verwenden
Ich habe versucht, Metaprogrammierung mit Java
Ich habe versucht, die Java8 Stream API zu verwenden
Ich habe versucht, die erweiterte for-Anweisung in Java zu verwenden
Ich habe versucht, Java Memo LocalDate zu verwenden
Ich habe versucht, Google HttpClient von Java zu verwenden
Ich habe versucht, Dapr in Java zu verwenden, um die Entwicklung von Mikroservices zu erleichtern
Ich habe das neue Yuan-Problem in Java ausprobiert
Ich habe versucht, OpenCV mit Java + Tomcat zu verwenden
Ich habe versucht, Gson zu benutzen
Ich habe versucht, TestNG zu verwenden
Ich habe versucht, Galasa zu benutzen
[Für Anfänger] Ich habe versucht, DBUnit mit Eclipse zu verwenden
[Für Anfänger] Ich habe versucht, JUnit 5 mit Eclipse zu verwenden
Ich habe versucht, neunundneunzig in Java auszugeben
Ich habe versucht, Alexa-Fähigkeiten mit Java zu erstellen
Ich habe versucht, mit AI "A3RT" eine Talk-App in Java zu erstellen.
Versuchen Sie es mit RocksDB mit Java
Ich habe ein Roulette in Java gemacht.
Ich habe versucht, Azure Cloud-Init zu verwenden
Ich habe Drools (Java, InputStream) ausprobiert.
Ich habe versucht, Apache Wicket zu verwenden
Versuchte Mastodons Toot- und Streaming-API in Java
Ich habe versucht, die Firebase-Push-Benachrichtigung in Java zu implementieren
Ich habe versucht, SQS mit AWS Java SDK zu betreiben
# 2 [Anmerkung] Ich habe versucht, neunundneunzig mit Java zu berechnen.
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Ich habe versucht, Log4j2 auf einem Java EE-Server zu verwenden
Ich habe versucht, Java Silver in 2 Wochen zu bestehen, ohne Java zu kennen
Ich habe versucht, die Methode der gegenseitigen Teilung von Eugrid in Java zu implementieren
~ Ich habe jetzt versucht, funktionale Programmierung mit Java zu lernen ~
Ich habe versucht, ein Aktienchart mit Java (Jsoup) zu kratzen.
Ich habe versucht herauszufinden, was sich in Java 9 geändert hat
Ich habe jetzt versucht, Anakia + Jing zu verwenden
Ich habe eine E-Mail in Java gesendet
Ich habe ein PDF mit Java erstellt.
Objektorientiertes Kind !? Ich habe Deep Learning mit Java ausprobiert (Testversion)
Ich habe versucht, JOOQ mit Gradle zu verwenden
Verschlüsselung mit RSA-Verschlüsselung in Java
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, UDP mit Java zu kommunizieren
Ich habe Gordobachs Theorem in Java geschrieben
Ich habe versucht, Domino11 in CentOS7 zu integrieren
Ich habe das Java-Framework "Quarkus" ausprobiert.
Ich habe versucht, in Java von einer Zeichenfolge in einen LocalDate-Typ zu konvertieren
Ich habe eine Anmerkung in Java gemacht.
HTTPS-Verbindung mit tls1.2 in Java 6
Ich habe versucht, das Java-Lernen zusammenzufassen (1)
Ich habe einen RESAS-API-Client in Java erstellt
[Android] Ich habe versucht, das Koordinatorlayout zu verwenden.
Ich habe versucht, Pari GP Container zu verwenden
Ich habe versucht, WebAssembly Stadio (Version 2018/4/17) zu verwenden.
Ich habe jetzt versucht, Java 8 zusammenzufassen
Ich habe versucht, die CameraX-Bibliothek mit Android Java Fragment zu verwenden
Ich habe versucht, den Kalender mit Java auf der Eclipse-Konsole anzuzeigen.
Ich habe ein Kalenderproblem mit Ruby versucht
Ich habe versucht, Realm mit Swift UI zu verwenden