Skip to content

Document the signature methods: PLAINTEXT over HTTPS - #672

Merged
hxdimpf merged 1 commit into
opencaching:masterfrom
OpencachingDeutschland:docs/plaintext-https
Oct 20, 2026
Merged

hxdimpf merged 1 commit into
opencaching:masterfrom
OpencachingDeutschland:docs/plaintext-https

Conversation

@hxdimpf

@hxdimpf hxdimpf commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Closes #475.

Since 2017 (195bcb8, a73ba55), OKAPI accepts PLAINTEXT signatures over HTTPS and skips the timestamp and nonce checks there. Clients use this, but the documentation still says that OKAPI requires HMAC-SHA1. @wrygiel pointed this out in #663.

The introduction page gets a short section "Signature methods":

  • HMAC-SHA1 over HTTP and HTTPS;
  • PLAINTEXT over HTTPS only, with how the signature is built;
  • no timestamp and nonce checks over HTTPS;
  • behind a proxy that ends HTTPS, the proxy must tell PHP, or OKAPI treats the request as HTTP.

The error list for unsupported_signature_method links to that section instead of saying "requires HMAC-SHA1".

No code change. Checked against the code (OkapiOAuthServer, OAuthServer::get_signature_method and check_signature) and on opencaching.de:

  • a PLAINTEXT request over HTTPS without oauth_timestamp and oauth_nonce is accepted;
  • the same request with a wrong secret is refused (401).

The page renders on my test installation.

@hxdimpf
hxdimpf merged commit 77a16b2 into opencaching:master Oct 20, 2026
hxdimpf added a commit that referenced this pull request Nov 2, 2026
Entries in `etc/changes.xml` for the changes merged since the last
changelog PR (#665) that matter to client developers or site admins:
#649, #654, #646, #651, #682, #680, #666, #676, #672, #671, #667.

Version numbers and times were filled in by `etc/update_changes.php`.
#652 has no visible change for clients, so it has no entry.
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.

Simplify authentication over HTTPS

1 participant