Browse Source

Add token auth

master
Gregory Rudolph 3 years ago
parent
commit
88e2c97fa5
Signed by: rudi
GPG Key ID: EF64F3CBD1A1EBDD
  1. 29
      login.go

29
login.go

@ -8,24 +8,31 @@ import ( @@ -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 @@ -37,4 +44,4 @@ func login(ctx context.Context, username string, password string, tok string) (s
return "", err
}
return string(ret), nil
}
}

Loading…
Cancel
Save