Token authorization scheme (#2288)

This commit is contained in:
Diego Circelli 2022-03-19 05:31:58 +13:00 committed by GitHub
parent e3a10b327c
commit 20bb5e703c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -7,6 +7,7 @@ import (
"net/http/httputil" "net/http/httputil"
"net/url" "net/url"
"os" "os"
"strings"
"sync" "sync"
"time" "time"
@ -72,6 +73,11 @@ func requestHandler(w http.ResponseWriter, r *http.Request) bool {
http.Error(w, "missing `Authorization` request header", http.StatusUnauthorized) http.Error(w, "missing `Authorization` request header", http.StatusUnauthorized)
return true return true
} }
if strings.HasPrefix(authToken, "Token ") {
// Handle InfluxDB's proprietary token authentication scheme as a bearer token authentication
// See https://docs.influxdata.com/influxdb/v2.0/api/
authToken = strings.Replace(authToken, "Token", "Bearer", 1)
}
ac := authConfig.Load().(map[string]*UserInfo) ac := authConfig.Load().(map[string]*UserInfo)
ui := ac[authToken] ui := ac[authToken]
if ui == nil { if ui == nil {