Token authorization scheme (#2288)

This commit is contained in:
Diego Circelli 2022-03-19 05:31:58 +13:00 committed by Aliaksandr Valialkin
parent a8a4581c37
commit 43dfa421c3
No known key found for this signature in database
GPG Key ID: A72BEC6CD3D0DED1

View File

@ -7,6 +7,7 @@ import (
"net/http/httputil"
"net/url"
"os"
"strings"
"sync"
"time"
@ -72,6 +73,11 @@ func requestHandler(w http.ResponseWriter, r *http.Request) bool {
http.Error(w, "missing `Authorization` request header", http.StatusUnauthorized)
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)
ui := ac[authToken]
if ui == nil {