Add token auth

This commit is contained in:
2021-07-10 11:14:47 -04:00
parent d6cc3e691f
commit 88e2c97fa5

View File

@ -8,24 +8,31 @@ import (
"golang.org/x/oauth2" "golang.org/x/oauth2"
) )
func noDevice(ctx context.Context, devices []tesla.Device) (d tesla.Device, passcode string, err error) { func noDevice(ctx context.Context, devices []tesla.Device) (d tesla.Device, passcode string, err error) {
return tesla.Device{}, "", nil return tesla.Device{}, "", nil
} }
func login(ctx context.Context, username string, password string, tok string) (string, error) { func login(ctx context.Context, username string, password string, tok string) (string, error) {
client, err := tesla.NewClient( var client *tesla.Client
ctx, var err error
tesla.WithMFAHandler(noDevice), if tok != "" {
tesla.WithToken(&oauth2.Token{ client, err = tesla.NewClient(
RefreshToken: tok, ctx,
}), tesla.WithMFAHandler(noDevice),
tesla.WithCredentials(username, password), tesla.WithToken(&oauth2.Token{
) RefreshToken: tok,
}),
)
} else {
client, err = tesla.NewClient(
ctx,
tesla.WithMFAHandler(noDevice),
tesla.WithCredentials(username, password),
)
}
if err != nil { if err != nil {
log.LogErrorType(err) log.LogErrorType(err)
return "", err return "", err
} }
t, err := client.Token() t, err := client.Token()
if err != nil { if err != nil {
log.LogErrorType(err) log.LogErrorType(err)