feat: add require-user-name support to AuthConfiguration and Auth0 endpoints#636
Merged
Martin-Molinero merged 4 commits intoQuantConnect:masterfrom Mar 11, 2026
Merged
Conversation
…dpoints Adds optional userId parameter to Auth0 read and authorize flows so brokerages like Charles Schwab can pass a login ID to pre-fill the OAuth authorization page. AuthConfiguration now reads require-user-name from config JSON, prompts the user for their login ID (checking CLI args and lean config first), and threads the value through get_authorization → Auth0Client.read (payload) and Auth0Client.authorize (URL). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
After prompting for login ID, the value is saved to lean_config under the derived key (e.g. charles-schwab-user-name) so subsequent runs skip the prompt. Adds 4 unit tests covering all get_user_name code paths. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…Auth When the Auth0 OAuth flow returns a new account list, the previously saved account number in lean.json may no longer be valid. Previously the code would silently use the stale value, causing live trading to be configured with the wrong account. Now, after fetching API account IDs: - If the saved account is no longer in the API response, it is cleared so the user is prompted to select a valid one. - If the API returns multiple accounts (even if the saved value is still valid), it is cleared so the user actively confirms their selection from the current list. - If the API returns exactly one account and it matches the saved value, no prompt is needed. Also adds three unit tests covering stale, ambiguous, and valid cases. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Martin-Molinero
approved these changes
Mar 11, 2026
…Auth Use plain brokerage_id as cache key when user_name is None to preserve original behaviour; use (brokerage_id, user_name) tuple when user_name is provided so different users get isolated cache entries. Adds two cache tests: no-user-name single-call check and per-user-name isolation check. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Martin-Molinero
approved these changes
Mar 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
require-user-nameoptional flag toAuthConfiguration(mirrorsrequire-project-idpattern)Auth0Client.readincludesuserIdin the POST payload when providedAuth0Client.authorizeappends&userId={user_name}to the authorization URLHow Has This Been Tested?