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
}
@@ -700,9 +725,14 @@ func UserRBACSubject(ctx context.Context, db database.Store, userID uuid.UUID, s
700
725
// 1: The cookie
701
726
// 2. The coder_session_token query parameter
702
727
// 3. The custom auth header
728
+
// 4. RFC 6750 Authorization: Bearer header
729
+
// 5. RFC 6750 access_token query parameter
703
730
//
704
731
// API tokens for apps are read from workspaceapps/cookies.go.
705
732
funcAPITokenFromRequest(r*http.Request) string {
733
+
// Prioritize existing Coder custom authentication methods first
734
+
// to maintain backward compatibility and existing behavior
0 commit comments