Mercurial > gemma
diff pkg/imports/erdms.go @ 5610:a826d84485c8 erdms2
Use token server to fetch token for ERDMS requests.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 31 Oct 2022 19:05:28 +0100 |
parents | e1936db6db8e |
children | 57c655b93ba8 |
line wrap: on
line diff
--- a/pkg/imports/erdms.go Mon Oct 31 17:51:54 2022 +0100 +++ b/pkg/imports/erdms.go Mon Oct 31 19:05:28 2022 +0100 @@ -20,6 +20,7 @@ "fmt" "strings" + "gemma.intevation.de/gemma/pkg/config" "gemma.intevation.de/gemma/pkg/log" "gemma.intevation.de/gemma/pkg/soap" erdms "gemma.intevation.de/gemma/pkg/soap/erdms2" @@ -72,12 +73,15 @@ return nil, nil, err } - var auth *soap.BasicAuth - if username != "" { - auth = &soap.BasicAuth{ - Login: username, - Password: password, + var auth soap.Auth + + if tokenURL := config.TokenURL(); tokenURL != "" && username != "" { + token, err := soap.FetchToken(tokenURL, username, password) + if err != nil { + return nil, nil, fmt.Errorf( + "error requesting token for ERDMS service: %w", err) } + auth = token } client := erdms.NewRefService(URL, insecure, auth)