Function: buildAuthorizationUrlWithJAR()

August 29, 2025 ยท View on GitHub

๐Ÿ’— Help the project

Support from the community to continue maintaining and improving this module is welcome. If you find the module useful, please consider supporting the project by becoming a sponsor.


โ–ธ buildAuthorizationUrlWithJAR(config, parameters, signingKey, options?): Promise<URL>

Returns a URL to redirect the user-agent to, in order to request authorization at the Authorization Server with a prior step of using JAR

Parameters

ParameterTypeDescription
configConfiguration-
parametersRecord<string, string> | URLSearchParamsAuthorization request parameters that will be encoded in a JAR Request Object
signingKeyCryptoKey | PrivateKeyKey to sign the JAR Request Object with.
options?ModifyAssertionOptions-

Returns

Promise<URL>

URL Instance with URL.searchParams including client_id and request

Examples

Using JAR

let config!: client.Configuration
let redirect_uri!: string
let scope!: string
let key!: client.CryptoKey

// these must be unique for every single authorization request
let code_verifier = client.randomPKCECodeVerifier()
let code_challenge =
  await client.calculatePKCECodeChallenge(code_verifier)

let redirectTo = await client.buildAuthorizationUrlWithJAR(
  config,
  {
    redirect_uri,
    scope,
    code_challenge,
    code_challenge_method: 'S256',
  },
  key,
)
// redirect now

Using JAR and PAR together

let config!: client.Configuration
let redirect_uri!: string
let scope!: string
let key!: client.CryptoKey

// these must be unique for every single authorization request
let code_verifier = client.randomPKCECodeVerifier()
let code_challenge =
  await client.calculatePKCECodeChallenge(code_verifier)

let { searchParams: params } = await client.buildAuthorizationUrlWithJAR(
  config,
  {
    redirect_uri,
    scope,
    code_challenge,
    code_challenge_method: 'S256',
  },
  key,
)

let redirectTo = await client.buildAuthorizationUrlWithPAR(
  config,
  params,
)
// redirect now