Skip to content

Conversation

liramon1
Copy link
Contributor

@liramon1 liramon1 commented Jun 17, 2025

Problem

The authentication flow does not make requests to IAM credentials endpoints on Flare and does not provide places for clients to input long-term IAM credentials or STS credentials.

Solution

  • Add IAM and STS credentials options to LanguageClientAuth requests
  • Add IAM credentials option and form to webview
  • Modify AuthUtils to switch between SsoLogin and IamLogin strategies
  • Modify clients to support IAM and STS credentials
  • Add IAM and STS credentials unit tests

This feature is split into multiple PRs (in order):

  1. feat(auth): add support for IAM profile management and flare endpoints #7659
  2. fix(auth): fix UI and error message bug, disable inline chat for IAM, autofill access key id
  3. feat(auth): add STS credential management and mfa verification

Meanwhile, we are making changes to language-servers and language-server-runtimes such that authentication for IAM credentials can happen on Flare side.

Tests will work with this version of language-server-runtimes:
https://github.com/liramon1/language-server-runtimes/tree/feature/flare-iam

and this version of language-servers:
https://github.com/liramon1/language-servers/tree/liramon/flare-iam

Please reference these when reviewing our work


License

I confirm that my contribution is made under the terms of the Apache 2.0 license.

Copy link

  • This pull request implements a feat or fix, so it must include a changelog entry (unless the fix is for an unreleased feature). Review the changelog guidelines.
    • Note: beta or "experiment" features that have active users should announce fixes in the changelog.
    • If this is not a feature or fix, use an appropriate type from the title guidelines. For example, telemetry-only changes should use the telemetry type.

bywang56 pushed a commit that referenced this pull request Jul 31, 2025
#7659)

## Problem
The webview does not support IAM credentials input and endpoint to LSP
does not support IAM credentials and IAM profiles.

## Solution
This is part of #7507.

- Add IAM credentials option and form to webview
- Modify AuthUtils to switch between SsoLogin and IamLogin strategies
- Add startIamCredentialSetup in backend_amazonq

Meanwhile, we are making changes to language-servers and
language-server-runtimes such that authentication for IAM credentials
can happen on Flare side.

working branches:

https://github.com/liramon1/language-server-runtimes/tree/feature/flare-iam
https://github.com/liramon1/language-servers/tree/liramon/flare-iam

Current PR built upon flare-mega branch and is working to merge with
flare-mega branch. This PR fails a web test that flare-mega branch is
also failing, at the same place.

---

- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
@yuxianrz yuxianrz marked this pull request as draft August 1, 2025 18:17
bywang56 pushed a commit that referenced this pull request Aug 4, 2025
… autofill access key id (#7797)

## Problem
UI and error message no longer compatible after adding IAM credentials
authflow
IAM Access Key needs manual input every time a client log in

## Solution
This is part of #7507 and
is built on top of #7659.

---

- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: Ramon Li <[email protected]>
bywang56 pushed a commit that referenced this pull request Aug 6, 2025
## Problem
The webview does not support STS credentials input (sessionToken and
roleArn) and endpoint to LSP does not support STS credentials and
profiles.

## Solution
This is part of #7507 and
is built on top of #7797.

- Add STS credentials input box webview, enabling mfa verification if
credentials has assume role with mfa permission
- Modify AuthUtils and auth2.ts to accommodate new IAM profile type
- Add stsCache and other sts handlers to connect to LSP

---
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: Ramon Li <[email protected]>
@liramon1 liramon1 force-pushed the feature/flare-iam branch from 9ac2a3d to fcc4285 Compare August 6, 2025 19:19
@liramon1 liramon1 closed this Aug 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants