Repository navigation
Application passwords (OWA 2.x) - #24
Merged
Merged
Conversation
added 2 commits
October 21, 2026 19:31
…thorization: Bearer An application password is used instead of the api_key/auth_key pair when set: sent as a Bearer token, no X-API-KEY, no signature. Read from the credentials config, OWA_APP_PASSWORD (env or constant), or app_password in ~/.owa/credentials. getCredentials() returns app_password beside the keys; the two tests that pinned the old two-key shape are updated. VERSION 1.2.0.
Over http the password travels in clear, and a default OWA install refuses it anyway. allow_insecure_app_password (default false) sends it for an install that has app_passwords_require_https off. The key pair is unaffected.
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.
Adds OWA 2.x application passwords as a REST credential, for the WordPress plugin's 2.x mode.
Changes
credentials['app_password']sendsAuthorization: Bearer <password>.X-API-KEYand noX-SIGNATURE, so noauth_keyis needed.credentialsconfig, thenOWA_APP_PASSWORD(environment variable or constant), thenapp_password =in~/.owa/credentials.getCredentials()now returnsapp_passwordbesideapi_key/auth_key. The two tests that asserted the old two-key array are updated to the new shape.http://. An application password with anhttp://instance_urlfails before any request, withApplication password not sent: instance_url is not https.allow_insecure_app_password(defaultfalse) sends it anyway, for an install withapp_passwords_require_httpsoff. The key pair is unaffected.logFailure()writes only the method, the URL without its query, and the reason.sdk::VERSION1.2.0.Tests
allow_insecure_app_password; key pair still sent over http; app password wins over the key pair; from the environment; from the credentials file; not in the failure log.The server side is OWA v2's
Auth::appPasswordCredential(). Bearer is one of the two forms it accepts, and over plain HTTP it refuses unlessapp_passwords_require_httpsis off.