Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
Godot Engine JWT
JSON Web Token library for Godot Engine written in GDScript
Supported Engine Version
3.4
Version String
1.5,1
License Version
MIT
Support Level
community
Modified Date
2 years ago
Git URL
Issue URL
Godot Engine GDScript JWT
JSON Web Token library for Godot Engine written in GDScript
Create HS256 JWT
var secret: String = JWTAlgorithmBuilder.random_secret(5)
var jwt_algorithm: JWTAlgorithm = JWTAlgorithmBuilder.HS256(secret)
var jwt_builder: JWTBuilder = JWT.create() \
.with_expires_at(OS.get_unix_time()) \
.with_issuer("Godot") \
.with_claim("id","someid")
var jwt: String = jwt_builder.sign(jwt_algorithm)
Verify HS256 JWT
var jwt: String = "<a jwt>"
var secret: String = "<your secret token>"
var jwt_algorithm: JWTAlgorithm = JWTAlgorithmBuilder.HS256(secret)
var jwt_verifier: JWTVerifier = JWT.require(jwt_algorithm) \
.with_claim("my-claim","my-value") \
.build() # Reusable Verifier
if jwt_verifier.verify(jwt) == JWTVerifier.JWTExceptions.OK :
print("Verified!")
else:
print(jwt_verifier.exception)
Create RS256 JWT
var private_key : CryptoKey = crypto.generate_rsa(4096)
var public_key : CryptoKey = CryptoKey.new()
public_key.load_from_string(private_key.save_to_string(true))
var jwt_algorithm: JWTAlgorithm = JWTAlgorithmBuilder.RS256(public_key, private_key)
var jwt_builder: JWTBuilder = JWT.create() \
.with_expires_at(OS.get_unix_time()) \
.with_issuer("Godot") \
.with_claim("id","someid")
var jwt: String = jwt_builder.sign(jwt_algorithm)
Verify RS256 JWT
var private_key: CryptoKey = CryptoKey.new()
var public_key: CryptoKey = CryptoKey.new()
private_key.load_from_string("<your private key PEM string>", false)
public_key.load_from_string("<your public key PEM string>", true)
var jwt: String = "<a jwt>"
var jwt_algorithm: JWTAlgorithm = JWTAlgorithmBuilder.RS256(public_key)
var jwt_verifier: JWTVerifier = JWT.require(jwt_algorithm) \
.with_claim("id","someid") \
.build() # Reusable Verifier
if jwt_verifier.verify(jwt) == JWTVerifier.JWTExceptions.OK :
print("Verified!")
else:
print(jwt_verifier.exception)
Decode JWT
var jwt: String = "<a jwt>"
var jwt_decoder: JWTDecoder = JWT.decode(jwt)
# Get the JWT as an Array
print("%s.%s.%s" % jwt_decoder.parts)
# Decode a specific part
print(JWTUtils.base64URL_decode(jwt_decoder.get_payload()))
JWT Utils
JWTUtils.base64URL_encode(bytes: PoolByteArray) -> String
JWTUtils.base64URL_decode(string: String) -> PoolByteArray
Supported Algorithms
- HS1 (HMAC with SHA1)
- HS256 (HMAC with SHA256)
- RS256 (RSA with SHA256)
JSON Web Token library for Godot Engine written in GDScript
Reviews
Quick Information
Godot Engine JWT
JSON Web Token library for Godot Engine written in GDScript
Supported Engine Version
3.4
Version String
1.5,1
License Version
MIT
Support Level
community
Modified Date
2 years ago
Git URL
Issue URL