You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
wwwAuth=`Bearer realm="coder", error="invalid_token", error_description="The access token audience does not match this resource"`
229
+
default:
230
+
wwwAuth=`Bearer realm="coder", error="invalid_token", error_description="The access token is invalid"`
231
+
}
232
+
casehttp.StatusForbidden:
233
+
// Map 403 to insufficient_scope per RFC 6750
234
+
wwwAuth=`Bearer realm="coder", error="insufficient_scope", error_description="The request requires higher privileges than provided by the access token"`
235
+
default:
236
+
wwwAuth=`Bearer realm="coder"`
237
+
}
238
+
239
+
rw.Header().Set("WWW-Authenticate", wwwAuth)
240
+
}
241
+
217
242
httpapi.Write(ctx, rw, code, response)
218
243
returnnil, nil, false
219
244
}
@@ -653,9 +678,14 @@ func UserRBACSubject(ctx context.Context, db database.Store, userID uuid.UUID, s
653
678
// 1: The cookie
654
679
// 2. The coder_session_token query parameter
655
680
// 3. The custom auth header
681
+
// 4. RFC 6750 Authorization: Bearer header
682
+
// 5. RFC 6750 access_token query parameter
656
683
//
657
684
// API tokens for apps are read from workspaceapps/cookies.go.
658
685
funcAPITokenFromRequest(r*http.Request) string {
686
+
// Prioritize existing Coder custom authentication methods first
687
+
// to maintain backward compatibility and existing behavior
0 commit comments