J'ai essayé d'utiliser JWT en Java

Aperçu

Notez l'introduction de JWT à l'aide de la bibliothèque Java.

Qu'est-ce que JWT

Exemple de jeton

―― L'ensemble du jeton ressemble à ceci

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRoMCJ9.izVguZPRsBQ5Rqw6dhMvcIwy8_9lQnrO3vpxGwPCuzs
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9

--Lorsque vous décodez l'en-tête

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

--Lorsque vous décodez Payload

{"iss":"auth0"}

Je l'ai en fait écrit en Java

--Environnement - java8 --java-jwt (bibliothèque java qui gère jwt qui est également publiée sur jwt.io)

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.
}
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
}

Se sentir utilisé

Recommended Posts

J'ai essayé d'utiliser JWT en Java
J'ai essayé d'utiliser l'API Elasticsearch en Java
J'ai essayé d'utiliser Java REPL
J'ai essayé la métaprogrammation avec Java
J'ai essayé d'utiliser l'API Java8 Stream
J'ai essayé d'utiliser l'instruction Extended for en Java
J'ai essayé d'utiliser le mémo Java LocalDate
J'ai essayé d'utiliser Google HttpClient de Java
J'ai essayé d'utiliser Dapr en Java pour faciliter le développement de microservices
J'ai essayé le nouveau yuan à Java
J'ai essayé d'utiliser OpenCV avec Java + Tomcat
J'ai essayé d'utiliser Gson
J'ai essayé d'utiliser TestNG
J'ai essayé d'utiliser Galasa
[Pour les débutants] J'ai essayé d'utiliser DBUnit avec Eclipse
[Pour les débutants] J'ai essayé d'utiliser JUnit 5 avec Eclipse
J'ai essayé de sortir quatre-vingt-dix-neuf en Java
J'ai essayé de créer une compétence Alexa avec Java
J'ai essayé de créer une application de conversation en Java à l'aide de l'IA «A3RT»
Essayez d'utiliser RocksDB avec Java
J'ai fait une roulette à Java.
J'ai essayé d'utiliser azure cloud-init
J'ai essayé Drools (Java, InputStream)
J'ai essayé d'utiliser Apache Wicket
Essayé l'API Toot et Streaming de Mastodon en Java
J'ai essayé d'implémenter la notification push Firebase en Java
J'ai essayé de faire fonctionner SQS en utilisant AWS Java SDK
# 2 [Note] J'ai essayé de calculer quatre-vingt-dix-neuf avec Java.
J'ai essayé de créer une fonction de connexion avec Java
J'ai essayé d'utiliser Log4j2 sur un serveur Java EE
J'ai essayé de passer Java Silver en 2 semaines sans connaître Java
J'ai essayé d'implémenter la méthode de division mutuelle d'Eugrid en Java
~ J'ai essayé d'apprendre la programmation fonctionnelle avec Java maintenant ~
J'ai essayé de gratter un graphique boursier en utilisant Java (Jsoup)
J'ai essayé de découvrir ce qui avait changé dans Java 9
J'ai essayé d'utiliser anakia + Jing maintenant
J'ai envoyé un e-mail en Java
J'ai créé un PDF avec Java.
Enfant orienté objet!? J'ai essayé le Deep Learning avec Java (édition d'essai)
J'ai essayé d'utiliser JOOQ avec Gradle
Chiffrer à l'aide du chiffrement RSA en Java
J'ai essayé d'interagir avec Java
J'ai essayé la communication UDP avec Java
J'ai écrit le théorème de Gordobach en java
J'ai essayé de mettre Domino11 dans CentOS7
J'ai essayé le framework Java "Quarkus"
J'ai essayé de convertir une chaîne de caractères en un type LocalDate en Java
J'ai fait une annotation en Java.
Connexion HTTPS utilisant tls1.2 dans Java 6
J'ai essayé de résumer l'apprentissage Java (1)
J'ai créé un client RESAS-API en Java
[Android] J'ai essayé d'utiliser la disposition du coordinateur.
J'ai essayé d'utiliser le conteneur Pari gp
J'ai essayé d'utiliser WebAssembly Stadio (version 2018/4/17)
J'ai essayé de résumer Java 8 maintenant
J'ai essayé d'utiliser la bibliothèque CameraX avec Android Java Fragment
J'ai essayé d'afficher le calendrier sur la console Eclipse en utilisant Java.
J'ai essayé un problème de calendrier avec Ruby
J'ai essayé d'utiliser Realm avec Swift UI