Skip to content

v1.0.10 - JWT Assertion Support for Service Account Authentication

Latest

Choose a tag to compare

@TheBIMsider TheBIMsider released this 04 Dec 23:14
· 11 commits to main since this release

🔐 JWT Assertion Authentication Support

DynaFetch now supports JWT assertion generation for service account authentication workflows, enabling automated access to APIs like Autodesk Platform Services Secure Service Accounts (SSA).

New Features

ClientNodes.GenerateJwtAssertion

Generate RFC 7523-compliant JWT assertions for service account authentication:

  • Autodesk SSA Integration: Full support for Autodesk Platform Services Secure Service Accounts
  • RSA Key Support: PKCS#1 and PKCS#8 PEM format private keys
  • Standards Compliant: RFC 7523 JWT Bearer Token profile
  • Flexible Scopes: Configurable OAuth 2.0 scopes
  • Secure Signing: RS256 algorithm with proper key management

Usage Example:

# Generate JWT assertion
jwt = ClientNodes.GenerateJwtAssertion(
    privateKeyPem,
    clientId,
    "https://developer.api.autodesk.com/",
    ["data:read", "data:write"],
    60
)

# Exchange for access token
tokenBody = "grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion=" + jwt
response = ExecuteNodes.POST(client, tokenEndpoint, tokenBody)

Use Cases

  • ✅ Autodesk Platform Services (APS) Secure Service Accounts
  • ✅ Google Service Accounts
  • ✅ Custom OAuth 2.0 JWT Bearer flows
  • ✅ CI/CD pipeline authentication
  • ✅ Background automation without user interaction

Technical Details

New Dependencies:

  • System.IdentityModel.Tokens.Jwt 8.2.1 - Microsoft's official JWT library

Security Features:

  • Automatic token expiration validation (1-60 minutes)
  • Unique JWT ID (jti) generation for replay attack prevention
  • Proper claims structure (iss, sub, aud, iat, exp)
  • Support for both PKCS#1 and PKCS#8 key formats

Documentation Updates

  • README: Added JWT assertion workflow examples
  • Node Library: Complete JWT assertion documentation
  • Advanced Node Library: Updated node count and structure

Community Response

This feature was requested by the community (GitHub Issue) to enable Autodesk SSA integration and replace Python-based JWT generation workarounds. Thank you for the feedback! Thanks @andydandy74 for the issue that lead to this update!


Installation: Available via Dynamo Package Manager - search "DynaFetch"

Full Changelog: v1.0.9...v1.0.10