Skip to main content

Class: FileStateStore

Generates state parameter value in the OAuth flow. While the state parameter value works for the CSRF protection purpose, it can transfer the given InstallURLOptions value to the Redirect URL handler (Redirect URL: the default path is "/slack/oauth_redirect")

Implements

Constructors

new FileStateStore()

new FileStateStore(args): FileStateStore

Parameters

args: FileStateStoreArgs

Returns

FileStateStore

Defined in

packages/oauth/src/state-stores/file-state-store.ts:24

Methods

generateStateParam()

generateStateParam(installOptions, now): Promise<string>

Generates a valid state parameter value, which can be decoded as a StateObj object by the verifyStateParam() method. This value may be stored on the server-side with expiration. The InstallProvider verifies if this value is set in the installer's browser session.

Parameters

installOptions: InstallURLOptions

now: Date

Returns

Promise<string>

Implementation of

StateStore.generateStateParam

Defined in

packages/oauth/src/state-stores/file-state-store.ts:30


verifyStateParam()

verifyStateParam(now, state): Promise<InstallURLOptions>

Verifies the given state string value by trying to decode the value and build the passed InstallURLOptions object from the data. This method verifies if the state value is not too old to detect replay attacks. If the value is invalid, this method can throw InvalidStateError exception.

Parameters

now: Date

state: string

Returns

Promise<InstallURLOptions>

Implementation of

StateStore.verifyStateParam

Defined in

packages/oauth/src/state-stores/file-state-store.ts:41