Add browser callback/code authentication (WSO2/CAS) as alternative to password#17
Draft
MattXcz wants to merge 1 commit into
Draft
Add browser callback/code authentication (WSO2/CAS) as alternative to password#17MattXcz wants to merge 1 commit into
MattXcz wants to merge 1 commit into
Conversation
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.
Motivation
code/ticketor full callback URL so users who sign in via SSO (WSO2 Identity Server / Google/Apple) can authenticate without storing a password.Description
CONF_BROWSER_AUTHandCONF_SERVICE_TICKETand exposed them inconst.py.config_flow.py) to accept an optionalbrowser_authfield, validate mutual exclusivity between password and browser callback input, and persistbrowser_auth(also saved asservice_ticketfor backwards compatibility).api.py) to acceptbrowser_auth, added_login_with_browser_authwhich accepts either a rawcode/ticketor a full callback URL and exchanges it for an API token, and added_extract_browser_auth_valueto parse the provided input.__init__.py) to readbrowser_auth(or legacyservice_ticket) from the config entry and pass it to the API client.README.mdand translations (translations/cs.jsonandtranslations/en.json) to document the new authentication method and to add validation error messages (missing_auth_data,too_many_auth_methods).Testing
Codex Task