Three issues surfaced running the suite in docker:
- hash_token_secrets stores the access token hashed; specs must use
access_token.plaintext_token (not .token) when posing as a client
- Doorkeeper's Application model rejects non-HTTPS redirect_uri by
default; add force_ssl_in_redirect_uri to allow loopback per OAuth 2.1
- test env uses :null_store, so Rails.cache.increment returned nil and
the DCR throttle never fired — stub a real MemoryStore in that spec
Also slim Dockerfile.test: drop chromium + chromium-chromedriver
(unused by OAuth specs, added ~4min to the build). Add a comment
pointing at the apk line to re-enable them for system specs.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>