Skip to content

installerOptions.stateStore.verifyStateParam not called when state parameter is empty #1316

@dzhk

Description

@dzhk

Description

Error message: "Redirect url is missing the state query parameter. If this is intentional, see options for disabling default state verification."

To reproduce this error, you need to set stateVerification to true and try installing the app from the app page. (url wil be like
that ..&state=&....
installerOptions.stateStore.verifyStateParam not called when state parameter is empty

I think the check described below is not needed, because I can validate it myself in installerOptions.stateStore.verifyStateParam.

@slack/oauth/dist/index.js, line 379

if (this.stateVerification && !state) {
    throw new errors_1.MissingStateError('Redirect url is missing the state query parameter. If this is intentional, see options for disabling default state verification.')
}

What type of issue is this? (place an x in one of the [ ])

  • bug
  • enhancement (feature request)
  • question
  • documentation related
  • example code related
  • testing related
  • discussion

Requirements (place an x in each of the [ ])

  • I've read and understood the Contributing guidelines and have done my best effort to follow them.
  • I've read and agree to the Code of Conduct.
  • I've searched for any related issues and avoided creating a duplicate issue.

Bug Report

Filling out the following details about bugs will help us solve your issue sooner.

Reproducible in:

package version:
"@slack/bolt": "^3.9.0",
"@slack/oauth": "^2.4.0",
"@slack/web-api": "^6.6.0",
node version:

OS version(s):

Steps to reproduce:

  1. set stateVerification to true
  2. Try installing the app from the app page. (url wil be like
    that ..&state=&....
  3. after redirect your app will send error "Redirect url is missing the state query parameter. If this is intentional, see options for disabling default state verification."

Expected result:

Function verifyStateParam call

What you expected to happen
Function verifyStateParam call

Actual result:

error "Redirect url is missing the state query parameter. If this is intentional, see options for disabling default state verification."
What actually happened
@slack/oauth/dist/index.js, line 379

if (this.stateVerification && !state) {
    throw new errors_1.MissingStateError('Redirect url is missing the state query parameter. If this is intentional, see options for disabling default state verification.')
}

Attachments:

Logs, screenshots, screencast, sample project, funny gif, etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionM-T: An issue where more input is needed to reach a decisionsemver:major

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions