go vet: fix error handling issues

This commit is contained in:
lordwelch 2020-08-07 14:07:23 -07:00
parent d7c8067c75
commit 81f4ab46c7

View File

@ -70,7 +70,7 @@ func refresh(config oauth2.Config, t *OAuth2Token) error {
}
idtoken, ok := res.Extra("id_token").(string)
if !ok {
return errors.New("Can't extract id_token")
return errors.New("can't extract id_token")
}
t.AccessToken = res.AccessToken
t.RefreshToken = res.RefreshToken
@ -83,8 +83,8 @@ func refresh(config oauth2.Config, t *OAuth2Token) error {
func (p ProviderConfig) Authenticate(t *OAuth2Token) error {
ctx := context.Background()
resultChannel := make(chan *oauth2.Token, 0)
errorChannel := make(chan error, 0)
resultChannel := make(chan *oauth2.Token)
errorChannel := make(chan error)
provider, err := oidc.NewProvider(ctx, p.ProviderURL)
if err != nil {
@ -136,7 +136,7 @@ func (p ProviderConfig) Authenticate(t *OAuth2Token) error {
codeChallengeEncoded := strings.Replace(codeChallenge, "=", "", -1)
nonceData := make([]byte, 32)
_, err = rand.Read(nonceData)
_, _ = rand.Read(nonceData)
nonce := base64.URLEncoding.EncodeToString(nonceData)
var authCodeOptions []oauth2.AuthCodeOption
@ -164,38 +164,38 @@ func (p ProviderConfig) Authenticate(t *OAuth2Token) error {
http.HandleFunc("/auth/callback", func(w http.ResponseWriter, r *http.Request) {
if r.URL.Query().Get("state") != state {
http.Error(w, "state did not match", http.StatusBadRequest)
errorChannel <- errors.New("State did not match")
errorChannel <- errors.New("state did not match")
return
}
oauth2Token, err := config.Exchange(ctx, r.URL.Query().Get("code"), tokenCodeOptions...)
if err != nil {
http.Error(w, "Failed to exchange token: "+err.Error(), http.StatusInternalServerError)
errorChannel <- errors.New("Failed to exchange token: " + err.Error())
errorChannel <- errors.New("failed to exchange token: " + err.Error())
return
}
rawIDToken, ok := oauth2Token.Extra("id_token").(string)
if !ok {
http.Error(w, "No id_token field in oauth2 token.", http.StatusInternalServerError)
errorChannel <- errors.New("No id_token field in oauth2 token")
errorChannel <- errors.New("no id_token field in oauth2 token")
return
}
idToken, err := verifier.Verify(ctx, rawIDToken)
if err != nil {
http.Error(w, "Failed to verify ID Token: "+err.Error(), http.StatusInternalServerError)
errorChannel <- errors.New("Failed to verify ID Token: " + err.Error())
errorChannel <- errors.New("failed to verify ID Token: " + err.Error())
return
}
if p.Nonce && idToken.Nonce != nonce {
http.Error(w, "Failed to verify Nonce", http.StatusInternalServerError)
errorChannel <- errors.New("Failed to verify Nonce")
errorChannel <- errors.New("failed to verify Nonce")
return
}
var claims = new(TokenClaims)
if err := idToken.Claims(&claims); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
errorChannel <- errors.New("Failed to verify Claims: " + err.Error())
errorChannel <- errors.New("failed to verify Claims: " + err.Error())
return
}
w.Write([]byte("Signed in successfully, return to cli app"))
@ -234,7 +234,7 @@ func (p ProviderConfig) Authenticate(t *OAuth2Token) error {
server.Shutdown(ctx)
IDToken, ok := res.Extra("id_token").(string)
if !ok {
return errors.New("Can't extract id_token")
return errors.New("can't extract id_token")
}
t.AccessToken = res.AccessToken
t.RefreshToken = res.RefreshToken