Skip to content

Commit 2f8b683

Browse files
csoni111cpg
authored andcommitted
allow auth token in query params also (#12)
1 parent 22b61f8 commit 2f8b683

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

src/fs/auth.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,17 @@ func use(h http.HandlerFunc, middleware ...func(http.HandlerFunc) http.HandlerFu
1515
return h
1616
}
1717

18+
func parseAuthToken(r *http.Request) (authToken string) {
19+
authToken = r.Header.Get("Authorization")
20+
if authToken == "" {
21+
authToken = r.URL.Query().Get("auth")
22+
}
23+
return
24+
}
25+
1826
func isAdmin(r *http.Request) bool {
1927
// if Authorization header is not present, this is admin user
20-
authToken := r.Header.Get("Authorization")
21-
return authToken == ""
28+
return parseAuthToken(r) == ""
2229
}
2330

2431
func (service *MercuryFsService) authenticate(writer http.ResponseWriter, request *http.Request) {
@@ -60,13 +67,13 @@ func (service *MercuryFsService) authenticate(writer http.ResponseWriter, reques
6067
}
6168

6269
func (service *MercuryFsService) logout(w http.ResponseWriter, r *http.Request) {
63-
authToken := r.Header.Get("Authorization")
70+
authToken := parseAuthToken(r)
6471
service.Users.remove(authToken)
6572
w.WriteHeader(http.StatusOK)
6673
}
6774

6875
func (service *MercuryFsService) checkAuthHeader(w http.ResponseWriter, r *http.Request) (user *HdaUser) {
69-
authToken := r.Header.Get("Authorization")
76+
authToken := parseAuthToken(r)
7077
user = service.Users.find(authToken)
7178
// if user is nil, respond with 401 Unauthorized
7279
if user == nil {

0 commit comments

Comments
 (0)