From 88e2c97fa553ef34e30b721d28f886640af99716 Mon Sep 17 00:00:00 2001 From: Gregory Rudolph Date: Sat, 10 Jul 2021 11:14:47 -0400 Subject: [PATCH] Add token auth --- login.go | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/login.go b/login.go index 789c1f2..4f4e001 100644 --- a/login.go +++ b/login.go @@ -8,24 +8,31 @@ import ( "golang.org/x/oauth2" ) - func noDevice(ctx context.Context, devices []tesla.Device) (d tesla.Device, passcode string, err error) { return tesla.Device{}, "", nil } func login(ctx context.Context, username string, password string, tok string) (string, error) { - client, err := tesla.NewClient( - ctx, - tesla.WithMFAHandler(noDevice), - tesla.WithToken(&oauth2.Token{ - RefreshToken: tok, - }), - tesla.WithCredentials(username, password), - ) + var client *tesla.Client + var err error + if tok != "" { + client, err = tesla.NewClient( + ctx, + tesla.WithMFAHandler(noDevice), + tesla.WithToken(&oauth2.Token{ + RefreshToken: tok, + }), + ) + } else { + client, err = tesla.NewClient( + ctx, + tesla.WithMFAHandler(noDevice), + tesla.WithCredentials(username, password), + ) + } if err != nil { log.LogErrorType(err) return "", err } - t, err := client.Token() if err != nil { log.LogErrorType(err) @@ -37,4 +44,4 @@ func login(ctx context.Context, username string, password string, tok string) (s return "", err } return string(ret), nil -} \ No newline at end of file +}