Http: use password as fallback for bearer token
This commit is contained in:
parent
8b09892128
commit
523e3eeffb
2 changed files with 7 additions and 2 deletions
|
|
@ -75,7 +75,7 @@ func NewHTTPPluginFromConfig(ctx context.Context, other map[string]interface{})
|
|||
p.getter = defaultGetters(p, cc.Scale)
|
||||
|
||||
if cc.Auth.Type != "" || cc.Auth.Source != "" {
|
||||
transport, err := cc.Auth.Transport(ctx, p.Client.Transport)
|
||||
transport, err := cc.Auth.Transport(ctx, log, p.Client.Transport)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import (
|
|||
"strings"
|
||||
|
||||
"github.com/evcc-io/evcc/plugin/auth"
|
||||
"github.com/evcc-io/evcc/util"
|
||||
"github.com/evcc-io/evcc/util/transport"
|
||||
"github.com/jpfielding/go-http-digest/pkg/digest"
|
||||
)
|
||||
|
|
@ -19,7 +20,7 @@ type Auth struct {
|
|||
Other map[string]any `mapstructure:",remain"`
|
||||
}
|
||||
|
||||
func (p *Auth) Transport(ctx context.Context, base http.RoundTripper) (http.RoundTripper, error) {
|
||||
func (p *Auth) Transport(ctx context.Context, log *util.Logger, base http.RoundTripper) (http.RoundTripper, error) {
|
||||
switch strings.ToLower(p.Type) {
|
||||
case "digest":
|
||||
return digest.NewTransport(p.User, p.Password, base), nil
|
||||
|
|
@ -28,6 +29,10 @@ func (p *Auth) Transport(ctx context.Context, base http.RoundTripper) (http.Roun
|
|||
return transport.BasicAuth(p.User, p.Password, base), nil
|
||||
|
||||
case "bearer":
|
||||
if p.Token == "" && p.Password != "" {
|
||||
p.Token = p.Password
|
||||
log.WARN.Println("using password for bearer auth is deprecated, use token instead")
|
||||
}
|
||||
return transport.BearerAuth(p.Token, base), nil
|
||||
|
||||
default:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue