@ -327,7 +327,7 @@ func getOAuthGroupsForUser(ctx go_context.Context, user *user_model.User) ([]str
func parseBasicAuth ( ctx * context . Context ) ( username , password string , err error ) {
func parseBasicAuth ( ctx * context . Context ) ( username , password string , err error ) {
authHeader := ctx . Req . Header . Get ( "Authorization" )
authHeader := ctx . Req . Header . Get ( "Authorization" )
if authType , authData , ok := strings . Cut ( authHeader , " " ) ; ok && authType == "Basic" {
if authType , authData , ok := strings . Cut ( authHeader , " " ) ; ok && strings . EqualFold ( authType , "Basic" ) {
return base . BasicAuthDecode ( authData )
return base . BasicAuthDecode ( authData )
}
}
return "" , "" , errors . New ( "invalid basic authentication" )
return "" , "" , errors . New ( "invalid basic authentication" )
@ -661,7 +661,7 @@ func AccessTokenOAuth(ctx *context.Context) {
// if there is no ClientID or ClientSecret in the request body, fill these fields by the Authorization header and ensure the provided field matches the Authorization header
// if there is no ClientID or ClientSecret in the request body, fill these fields by the Authorization header and ensure the provided field matches the Authorization header
if form . ClientID == "" || form . ClientSecret == "" {
if form . ClientID == "" || form . ClientSecret == "" {
authHeader := ctx . Req . Header . Get ( "Authorization" )
authHeader := ctx . Req . Header . Get ( "Authorization" )
if authType , authData , ok := strings . Cut ( authHeader , " " ) ; ok && authType == "Basic" {
if authType , authData , ok := strings . Cut ( authHeader , " " ) ; ok && strings . EqualFold ( authType , "Basic" ) {
clientID , clientSecret , err := base . BasicAuthDecode ( authData )
clientID , clientSecret , err := base . BasicAuthDecode ( authData )
if err != nil {
if err != nil {
handleAccessTokenError ( ctx , AccessTokenError {
handleAccessTokenError ( ctx , AccessTokenError {