style: export shared logic from SetLogin and SetPing to a common generateAccessToken() method in oidc.go

This commit is contained in:
Guy Lewin 2020-02-20 18:10:23 +02:00
parent a85b52d8e6
commit 5544e5f7d5

View File

@ -43,13 +43,17 @@ func NewOidcAuthSetter(clientId string, clientSecret string, audience string, to
} }
} }
func (auth *OidcAuthProvider) SetLogin(loginMsg *msg.Login) (err error) { func (auth *OidcAuthProvider) generateAccessToken() (accessToken string, err error) {
tokenObj, err := auth.tokenGenerator.Token(context.Background()) tokenObj, err := auth.tokenGenerator.Token(context.Background())
if err != nil { if err != nil {
return fmt.Errorf("couldn't generate OIDC token for login: %v", err) return "", fmt.Errorf("couldn't generate OIDC token for login: %v", err)
} }
loginMsg.PrivilegeKey = tokenObj.AccessToken return tokenObj.AccessToken, nil
return nil }
func (auth *OidcAuthProvider) SetLogin(loginMsg *msg.Login) (err error) {
loginMsg.PrivilegeKey, err = auth.generateAccessToken()
return err
} }
func (auth *OidcAuthProvider) SetPing(pingMsg *msg.Ping) (err error) { func (auth *OidcAuthProvider) SetPing(pingMsg *msg.Ping) (err error) {
@ -57,12 +61,8 @@ func (auth *OidcAuthProvider) SetPing(pingMsg *msg.Ping) (err error) {
return nil return nil
} }
tokenObj, err := auth.tokenGenerator.Token(context.Background()) pingMsg.PrivilegeKey, err = auth.generateAccessToken()
if err != nil { return err
return fmt.Errorf("couldn't generate OIDC token for ping: %v", err)
}
pingMsg.PrivilegeKey = tokenObj.AccessToken
return nil
} }
type OidcAuthConsumer struct { type OidcAuthConsumer struct {