• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / auth / 21214177698
69%

Build:
DEFAULT BRANCH: master
Ran 21 Jan 2026 03:02PM UTC
Jobs 1
Files 171
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Jan 2026 02:54PM UTC coverage: 68.832% (-0.03%) from 68.861%
21214177698

push

github

web-flow
feat(oauth-server): store and enforce token_endpoint_auth_method (#2300)

## Problem

I noticed there was a TODO for storing the `token_endpoint_auth_method`
value. While integrating with Claude.ai's OAuth flow, we discovered that
returning `client_secret_basic` for all clients (regardless of their
actual registration) was breaking the authentication flow. Claude.ai
strictly validates the auth method returned during client registration,
so it was critical for us to return the correct value.

Per [RFC 7591 Section
2](https://datatracker.ietf.org/doc/html/rfc7591#section-2):

> If unspecified or omitted, the default is "client_secret_basic"

For public clients, the default is `none` since they don't have a client
secret.

## Solution

Added proper storage and enforcement of `token_endpoint_auth_method`:

### Database Changes
- Added `token_endpoint_auth_method` TEXT column (NOT NULL) to
`oauth_clients` table
- Migration sets default values for existing clients based on their
`client_type`:
  - `confidential` → `client_secret_basic`
  - `public` → `none`

### Behavior
- New clients get `token_endpoint_auth_method` persisted during
registration
- Token endpoint validates that the authentication method used matches
the registered method
- Returns the correct `token_endpoint_auth_method` in client
registration responses

---------

Signed-off-by: Pierre Dulac <dulacpier@gmail.com>
Signed-off-by: Pierre Dulac <pierre@entropia.io>
Co-authored-by: Cemal Kılıç <cemalkilic@users.noreply.github.com>

38 of 78 new or added lines in 6 files covered. (48.72%)

1 existing line in 1 file now uncovered.

14847 of 21570 relevant lines covered (68.83%)

79.64 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
77.06
0.66% internal/api/oauthserver/service.go
7
76.65
-0.69% internal/api/middleware.go
8
73.23
-2.47% internal/models/oauth_client.go
24
0.0
0.0% internal/api/oauthserver/auth.go

Uncovered Existing Lines

Lines Coverage ∆ File
1
0.0
0.0% internal/api/oauthserver/auth.go
Jobs
ID Job ID Ran Files Coverage
1 21214177698.1 21 Jan 2026 03:02PM UTC 171
68.83
GitHub Action Run
Source Files on build 21214177698
  • Tree
  • List 171
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • bcd6cd59 on github
  • Prev Build on master (#21130794887)
  • Next Build on master (#21214666401)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc