Skip to main content

Class: AuthorizationCodeFlow

An implementation of Authorization Code Flow designed for Single Page Apps (SPA)

There are two strategies for calling /authorize available in a browser environment

  • Redirect Model TODO
  • Silent Prompt TODO

See

Okta Documentation:

  • Authorization Code Flow: Concepts
  • Authorization Code Flow: Guide

Constructors

new AuthorizationCodeFlow()

new AuthorizationCodeFlow(options): AuthorizationCodeFlow

Parameters

options: AuthorizationCodeFlowOptions

Returns

AuthorizationCodeFlow

new AuthorizationCodeFlow()

new AuthorizationCodeFlow(client, options): AuthorizationCodeFlow

Parameters

client: OAuth2Client

options: AuthorizationCodeFlowOptions

Returns

AuthorizationCodeFlow

Properties

client

readonly client: OAuth2Client


redirectUri

readonly redirectUri: string


additionalParameters

readonly additionalParameters: Record<string, string>

Accessors

isAuthenticating

get isAuthenticating(): boolean

set isAuthenticating(isAuthenticating): void

Parameters

isAuthenticating: boolean

Returns

boolean

Methods

reset()

reset(): void

Returns

void


start()

start(meta, context?, additionalParameters?): Promise<URL>

Initiates an Authorization Code flow

Parameters

meta: TransactionMeta = {}

A map of key/values to be loaded upon redirect from Authorization Server back to Web App

context?: Context

Optional. AuthorizationCodeFlow.Context can be provided. One will be created if none is provided

additionalParameters?: Record<string, string> = {}

Optional. A map of URL query parameters to be added to the /authorize request

Returns

Promise<URL>

A URL instance representing Authorization Server /authorize with all required query parameters


resume()

resume(redirectUri?): Promise<Result>

Continues an Authorization Code flow. Used when handling the redirect back to the Web App from an Authorization Server

Parameters

redirectUri?: string

Returns

Promise<Result>

Remarks

This method will only be used with Redirect Model

Authorize Methods

PerformRedirect()

static PerformRedirect(flow): Promise<void>

Performs a browser full-page redirect to the Authorization Server /authorize endpoint. Once authentication is successful, the user will be redirected back to the provided redirectUri

Parameters

flow: AuthorizationCodeFlow

Returns

Promise<void>

Remarks

This method returns a Promise that will never fulfill; a browser redirect will occur first

See

AuthorizationCodeFlow.resume


PerformSilently()

static PerformSilently(flow): Promise<Result>

Fulfills the /authorize request within a hidden iframe and therefore does not require a redirect. This requires an existing cookie-based session with the IDP and is susceptible to third-party cookie restrictions.

Parameters

flow: AuthorizationCodeFlow

Returns

Promise<Result>

Returns a Token and the AuthorizationCodeFlow.Context used to request the token

Remarks

This approach is not recommended for most common use cases and may be deprecated in the future. Use AuthorizationCodeFlow.PerformRedirect instead

See