ui: fix default values for authorization parameters
This commit is contained in:
parent
f30fa7d166
commit
143d907bef
@ -3,6 +3,7 @@ package server
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"sort"
|
||||||
|
|
||||||
"github.com/dgrijalva/jwt-go"
|
"github.com/dgrijalva/jwt-go"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
@ -46,11 +47,15 @@ type JWT struct {
|
|||||||
Secret string `yaml:"secret"` // key to verify JWT
|
Secret string `yaml:"secret"` // key to verify JWT
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cfg JWT) Create() AuthHandlerFunc {
|
func (cfg JWT) GetHeader() string {
|
||||||
header := cfg.Header
|
if cfg.Header == "" {
|
||||||
if header == "" {
|
return "Authorization"
|
||||||
header = "Authorization"
|
|
||||||
}
|
}
|
||||||
|
return cfg.Header
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cfg JWT) Create() AuthHandlerFunc {
|
||||||
|
header := cfg.GetHeader()
|
||||||
|
|
||||||
return func(req *http.Request) bool {
|
return func(req *http.Request) bool {
|
||||||
rawToken := req.Header.Get(header)
|
rawToken := req.Header.Get(header)
|
||||||
@ -69,11 +74,15 @@ type QueryToken struct {
|
|||||||
Tokens []string `yaml:"tokens"` // allowed tokens
|
Tokens []string `yaml:"tokens"` // allowed tokens
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cfg QueryToken) Create() AuthHandlerFunc {
|
func (cfg QueryToken) GetParam() string {
|
||||||
param := cfg.Param
|
if cfg.Param == "" {
|
||||||
if param == "" {
|
return "token"
|
||||||
param = "token"
|
|
||||||
}
|
}
|
||||||
|
return cfg.Param
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cfg QueryToken) Create() AuthHandlerFunc {
|
||||||
|
param := cfg.GetParam()
|
||||||
tokens := map[string]bool{}
|
tokens := map[string]bool{}
|
||||||
for _, k := range cfg.Tokens {
|
for _, k := range cfg.Tokens {
|
||||||
tokens[k] = true
|
tokens[k] = true
|
||||||
@ -89,11 +98,15 @@ type HeaderToken struct {
|
|||||||
Tokens []string `yaml:"tokens"` // allowed tokens
|
Tokens []string `yaml:"tokens"` // allowed tokens
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cfg HeaderToken) Create() AuthHandlerFunc {
|
func (cfg HeaderToken) GetHeader() string {
|
||||||
header := cfg.Header
|
if cfg.Header == "" {
|
||||||
if header == "" {
|
return "X-Api-Token"
|
||||||
header = "X-Api-Token"
|
|
||||||
}
|
}
|
||||||
|
return cfg.Header
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cfg HeaderToken) Create() AuthHandlerFunc {
|
||||||
|
header := cfg.GetHeader()
|
||||||
tokens := map[string]bool{}
|
tokens := map[string]bool{}
|
||||||
for _, k := range cfg.Tokens {
|
for _, k := range cfg.Tokens {
|
||||||
tokens[k] = true
|
tokens[k] = true
|
||||||
@ -121,3 +134,12 @@ func (cfg Basic) Create() AuthHandlerFunc {
|
|||||||
return bcrypt.CompareHashAndPassword([]byte(h), []byte(p)) == nil
|
return bcrypt.CompareHashAndPassword([]byte(h), []byte(p)) == nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (cfg Basic) Logins() []string {
|
||||||
|
var ans []string
|
||||||
|
for name := range cfg.Users {
|
||||||
|
ans = append(ans, name)
|
||||||
|
}
|
||||||
|
sort.Strings(ans)
|
||||||
|
return ans
|
||||||
|
}
|
||||||
|
@ -121,27 +121,27 @@
|
|||||||
{{if .JWT.Enable}}
|
{{if .JWT.Enable}}
|
||||||
<dt class="col-sm-3">JWT</dt>
|
<dt class="col-sm-3">JWT</dt>
|
||||||
<dd class="col-sm-9">in
|
<dd class="col-sm-9">in
|
||||||
<code>{{.JWT.Header}}</code>
|
<code>{{.JWT.GetHeader}}</code>
|
||||||
header
|
header
|
||||||
</dd>
|
</dd>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if .QueryToken.Enable}}
|
{{if .QueryToken.Enable}}
|
||||||
<dt class="col-sm-3">Query token</dt>
|
<dt class="col-sm-3">Query token</dt>
|
||||||
<dd class="col-sm-9">in
|
<dd class="col-sm-9">in
|
||||||
<code>{{.QueryToken.Param}}</code>
|
<code>{{.QueryToken.GetParam}}</code>
|
||||||
param
|
param
|
||||||
</dd>
|
</dd>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if .HeaderToken.Enable}}
|
{{if .HeaderToken.Enable}}
|
||||||
<dt class="col-sm-3">Header token</dt>
|
<dt class="col-sm-3">Header token</dt>
|
||||||
<dd class="col-sm-9">in
|
<dd class="col-sm-9">in
|
||||||
<code>{{.HeaderToken.Header}}</code>
|
<code>{{.HeaderToken.GetHeader}}</code>
|
||||||
header
|
header
|
||||||
</dd>
|
</dd>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if .Basic.Enable}}
|
{{if .Basic.Enable}}
|
||||||
<dt class="col-sm-3">Basic</dt>
|
<dt class="col-sm-3">Basic</dt>
|
||||||
<dd class="col-sm-9">{{.Basic.Users | keys | join ", "}}</dd>
|
<dd class="col-sm-9">{{.Basic.Logins | join ", "}}</dd>
|
||||||
{{end}}
|
{{end}}
|
||||||
</dl>
|
</dl>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user