aws / aws/aws-toolkit-vscode

Misleading error msg for the start URL on workforce sign-in

Open
#5,462 6 comments 0 reactions 0 assignees View on GitHub
amazon-q auth-credentials bug ux
Dominant language
TypeScript
Stars
2k
Forks
807
Avg merge
10h 12m
Merged PRs (30d)
7

Description

## Problem
Pasting the copied start URL from the **Get credentials for [SampleRole]** in the AWS Access portal for a given IAM Identity Center user raises the following input error message: `URLs must start with http:// or https://. Example: https://d-xxxxxxxxxx.awsapps.com/start`.

This error message is quite misleading since the issue that triggered the error message was a hashtag `#` at the end of the start URL. Identifying the issue took some time due to insufficient metadata or guidance from the error message which in this case was a false positive given the pasted URL starts with `https://`.

> ℹ By default, the `#` is included in the start URL copied from the **Get credentials for [SampleRole]** window.
> ℹ Addressing this issue can be an enhancement to support users who retrieve their start URL from the `sso_start_url` property from a local `config` file or the **Get credentials for [SampleRole]** in the AWS Access portal.

## Steps to reproduce the issue
> More clear and verbose steps may be found in this reference [guide](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html#idcGettingStarted) under [Step 2].

- Long Version
1. Sign in to the **AWS Access Portal** for a given IAM Identity Center User.
2. Choose the **Access keys** role for an individual user displayed under an AWS Accounts tab.
3. In the **Get Credentials** dialog box, copy the `SSO Start URL` value.
4. In Vs Code, launch the command palette `Shift+Command+P (Ctrl+Shift+P Windows)` then run the `AWS: Add a New Connection` command.
5. Choose the **Workforce** sign-in option and select continue.
6. Paste the copied `SSO Start URL` value into the **Start URL** field.
7. Observe the error message displayed on the pasted value.

- Short Version
1. In Vs Code, launch the command palette `Shift+Command+P (Ctrl+Shift+P Windows)` then run the `AWS: Add a New Connection` command.
2. Choose the **Workforce** sign-in option and select continue.
3. Paste the value `https://d-xxxxxxxxxx.awsapps.com/start/#` into the **Start URL** field.
4. Observe the error message displayed on the pasted value.

## Expected behavior
The `SSO Start URL` value copied from the AWS Access Portal should not trigger an error message. A more _semantic_ message may be displayed to better guide the user on the specific issue. The error message can further be enhanced by informing a user that, for example, the start URL must also explicitly be in the following format: `https://d-xxxxxxxxxx.awsapps.com/start`, in addition to the pre-existing requirement: `URLs must start with http:// or https:// ...`.

## System details
> Retrieved from running: `AWS: About`

- OS: Linux x64 5.15.153.1-microsoft-standard-WSL2
- Visual Studio Code version: 1.92.0-insider
- AWS Toolkit version: 3.20.0

Contributor guide

Open the contributing guide

Research direction

Start with the AWS: Add a New Connection command and its Workforce sign-in flow, then reproduce the issue using the copied SSO Start URL ending in #. Done when that portal value no longer triggers a misleading URL-scheme error, or the validation clearly identifies the specific URL problem and required format.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, typescript, vscode
Domain
authentication
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.