...
Code Block | ||||
---|---|---|---|---|
| ||||
# Create JWT header and payload!/bin/bash header='{"alg": "HS256", "typ": "JWT"}' payload='{"iss": "example_issuer", "sub": "1234567890", "aud": "myclient", "exp": 3000000000, "client_id": "myclient", "role": "user"}' # Base64 encode the header and payload without padding header_base64=$(echo -n "$header" | openssl base64 -e | tr -d '=' | tr '/+' '_-' ) payload_base64=$(echo -n "$payload" | openssl base64 -e -A | tr -d '=' | tr '/+' '_-') # Create a signature secret="your-256-bit-secretmysecret" signature_base64=$(echo -n "${header_base64}.${payload_base64}" | openssl dgst -sha256 -hmac $secret"${secret}" -binary | openssl base64 -e | tr -d '=' | tr '/+' '_-') # Combine to form the JWT jwt="${header_base64}.${payload_base64}.${signature_base64}" echo "JWT: $jwt" |
This script generates a JWT and prints it out. Replace "your-256-bit-secret" with a proper secret key.
...