Use JsonWebToken in Haxe
| Target | HS256 | HS384 | HS512 | RS256 | RS384 | RS512 | Remarks | 
|---|---|---|---|---|---|---|---|
| all sys targets | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | Using openssl cli | 
| Node | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | Using Node std lib | 
| PHP | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | Using PHP std lib | 
| Java | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | Using Java std lib | 
| C# | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | Using C# std lib | 
| Python | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | Using Python std lib | 
| Interp | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | Using Haxe std lib | 
| Neko | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | Using Haxe std lib | 
| JS | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | Using Haxe std lib | 
| C++ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | Using Haxe std lib | 
- Issuer
- Audience
- Expiry
haxelib install jsonwebtoken
var crypto = new NodeCrypto(); // pick a crypto from the jsonwebtoken.crypto package
var signer = new BasicSigner(HS256('secret'), crypto);
var payload:Claims = {iss: 'issuer'}
signer.sign(payload).handle(function(o) switch o {
	case Success(token): trace(token);
	case Failure(e): trace('Failed to sign: $e');
});var crypto = new NodeCrypto(); // pick a crypto from the jsonwebtoken.crypto package
var verifier = new BasicVerifier(HS256('secret'), crypto, {iss: 'issuer'});
var token = ...;
verifier.verify(token).handle(function(o) switch o {
	case Success(_): trace('verified');
	case Failure(e): trace('Invalid token: $e');
});