CreateSignedJWT

Description

Create a signed JWT.

Syntax

CreateSignedJWT(payload, signOptions, config)

History

  • New in ColdFusion (2023 release).

Parameters

Parameters Description Required
payload

If the payload is a string, the method accepts it as it is. If not, the following fields can be passed as a struct:

  • iss - The authority issuing the token
  • sub - The user/client for whom this token is established
  • aud - Who is allowed to view this token
  • exp - The time after which the token is not valid anymore
  • nbf - The time before which the token should not be processed
  • iat - If not set, defaults to current timestamp
  • jti - Corresponds to jti field to prevent replay attacks. Will be generated automatically if not already displayed.
Yes
signOptions

Create the signature using the struct below:

  • Key
  • KeyPair - private Key will be used
  • Keystore file, keystore password, keystore alias
Yes
config

A struct with the following values:

  • algorithm - algorithm used for signing.
  • generateIssuedAt - boolean to know whether to generate "iat" field
  • generateJti - boolean to know whether to generate "jti" field
Yes

Returns

A JWT string.

Example

<cfset text = {
    "iss" = "a",
    "sub" = "b",
    "abcd" = "efgh",
    "aud" = "adobe",
    "exp" = "#DateAdd("n", 30, now())#",
    "id"="cc",
    "iat"="#DateAdd("n", -30, now())#"
}>
 
<cfset k=getKeyPairfromkeystore({  
        "keystore" : "test_jws1.keystore",
        "keystorePassword": "****",  
        "keypairPassword": "****",  
        "keystoreAlias": "contentKey"
    }) >
 
<cfset c = {
    "algorithm" = "RS256",
    "generateIssuedAt"= true,
"generateJti"=true
}>
<cfset createjws = CreateSignedJWT(text,k.getPrivate(),c)>
<cfdump var = "#createjws#">

 Adobe

Получайте помощь быстрее и проще

Новый пользователь?