Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Java implementation of JSON Web Token (JWT)

License

NotificationsYou must be signed in to change notification settings

auth0/java-jwt

Repository files navigation

NoteAs part of our ongoing commitment to best security practices, we have rotated the signing keys used to sign previous releases of this SDK. As a result, new patch builds have been released using the new signing key. Please upgrade at your earliest convenience.

While this change won't affect most developers, if you have implemented a dependency signature validation step in your build process, you may notice a warning that past releases can't be verified. This is expected, and a result of the key rotation process. Updating to the latest version will resolve this for you.

A Java implementation of JSON Web Token (JWT) - RFC 7519.

Build StatusCoverage StatusLicenseMaven Centraljavadoc

📚Documentation - 🚀Getting Started - 💻API Reference 💬Feedback

Documentation

  • Examples - code samples for common java-jwt scenarios.
  • Docs site - explore our docs site and learn more about Auth0.

Getting Started

Requirements

This library is supported for Java LTS versions 8, 11, and 17. For issues on non-LTS versions above 8, consideration will be given on a case-by-case basis.

java-jwt is intended for server-side JVM applications. Android applications should useJWTDecode.Android.

java-jwt supports the following algorithms for both signing and verification:

JWSAlgorithmDescription
HS256HMAC256HMAC with SHA-256
HS384HMAC384HMAC with SHA-384
HS512HMAC512HMAC with SHA-512
RS256RSA256RSASSA-PKCS1-v1_5 with SHA-256
RS384RSA384RSASSA-PKCS1-v1_5 with SHA-384
RS512RSA512RSASSA-PKCS1-v1_5 with SHA-512
ES256ECDSA256ECDSA with curve P-256 and SHA-256
ES384ECDSA384ECDSA with curve P-384 and SHA-384
ES512ECDSA512ECDSA with curve P-521 and SHA-512

Note - Support for ECDSA with curve secp256k1 and SHA-256 (ES256K) has been dropped since it has beendisabled in Java 15

⚠️Important security note: JVM has a critical vulnerability for ECDSA Algorithms -CVE-2022-21449. Please review the details of the vulnerability and update your environment.

Installation

Add the dependency via Maven:

<dependency>  <groupId>com.auth0</groupId>  <artifactId>java-jwt</artifactId>  <version>4.5.0</version></dependency>

or Gradle:

implementation'com.auth0:java-jwt:4.5.0'

Create a JWT

UseJWT.create(), configure the claims, and then callsign(algorithm) to sign the JWT.

The example below demonstrates this using theRS256 signing algorithm:

try {Algorithmalgorithm =Algorithm.RSA256(rsaPublicKey,rsaPrivateKey);Stringtoken =JWT.create()        .withIssuer("auth0")        .sign(algorithm);}catch (JWTCreationExceptionexception){// Invalid Signing configuration / Couldn't convert Claims.}

Verify a JWT

Create aJWTVerifier passing theAlgorithm, and specify any required claim values.

The following example usesRS256 to verify the JWT.

Stringtoken ="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJpc3MiOiJhdXRoMCJ9.AbIJTDMFc7yUa5MhvcP03nJPyCPzZtQcGEp-zWfOkEE";DecodedJWTdecodedJWT;try {Algorithmalgorithm =Algorithm.RSA256(rsaPublicKey,rsaPrivateKey);JWTVerifierverifier =JWT.require(algorithm)// specify any specific claim validations        .withIssuer("auth0")// reusable verifier instance        .build();decodedJWT =verifier.verify(token);}catch (JWTVerificationExceptionexception){// Invalid signature/claims}

If the token has an invalid signature or the Claim requirement is not met, aJWTVerificationException will be thrown.

See theexamples andJavaDocs for additional documentation.

API Reference

Feedback

Contributing

We appreciate feedback and contribution to this repo! Before you get started, please see the following:

Raise an issue

To provide feedback or report a bug,please raise an issue on our issue tracker.

Vulnerability Reporting

Please do not report security vulnerabilities on the public Github issue tracker. TheResponsible Disclosure Program details the procedure for disclosing security issues.


Auth0 Logo

Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkoutWhy Auth0?

This project is licensed under the MIT license. See the LICENSE file for more info.

About

Java implementation of JSON Web Token (JWT)

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp