diff --git a/vehicle/porsche.go b/vehicle/porsche.go index acb0e5e29..b42889905 100644 --- a/vehicle/porsche.go +++ b/vehicle/porsche.go @@ -65,13 +65,7 @@ func NewPorscheFromConfig(other map[string]interface{}) (api.Vehicle, error) { return nil, errors.New("vehicle is not paired with the My Porsche account") } - // get eMobility capabilities - emobIdentity := porsche.NewIdentity(log) - if err := emobIdentity.Login(porsche.EmobilityOAuth2Config, cc.User, cc.Password); err != nil { - return nil, fmt.Errorf("emobility login failed: %w", err) - } - - emobApi := porsche.NewEmobilityAPI(log, emobIdentity) + emobApi := porsche.NewEmobilityAPI(log, identity) capabilities, err := emobApi.Capabilities(cc.VIN) if err != nil { return nil, err diff --git a/vehicle/porsche/api_emobility.go b/vehicle/porsche/api_emobility.go index 7d8deacc5..ba7935dc4 100644 --- a/vehicle/porsche/api_emobility.go +++ b/vehicle/porsche/api_emobility.go @@ -27,7 +27,7 @@ func NewEmobilityAPI(log *util.Logger, identity oauth2.TokenSource) *EmobilityAP Base: v.Client.Transport, }, Decorator: transport.DecorateHeaders(map[string]string{ - "apikey": EmobilityOAuth2Config.ClientID, + "apikey": ClientID, }), } diff --git a/vehicle/porsche/identity.go b/vehicle/porsche/identity.go index 09aa7b98c..4609d0e13 100644 --- a/vehicle/porsche/identity.go +++ b/vehicle/porsche/identity.go @@ -20,28 +20,20 @@ import ( const ( OAuthURI = "https://identity.porsche.com" + ClientID = "UYsK00My6bCqJdbQhTQ0PbWmcSdIAMig" ) // https://identity.porsche.com/.well-known/openid-configuration var ( - endpoint = oauth2.Endpoint{ - AuthURL: OAuthURI + "/authorize", - TokenURL: OAuthURI + "/oauth/token", - AuthStyle: oauth2.AuthStyleInParams, - } - OAuth2Config = &oauth2.Config{ - ClientID: "UYsK00My6bCqJdbQhTQ0PbWmcSdIAMig", + ClientID: ClientID, RedirectURL: "https://my.porsche.com/", - Endpoint: endpoint, - Scopes: []string{"openid", "offline_access"}, - } - - EmobilityOAuth2Config = &oauth2.Config{ - ClientID: OAuth2Config.ClientID, - RedirectURL: "https://my.porsche.com/myservices/auth/auth.html", - Endpoint: endpoint, - Scopes: []string{"openid", "offline_access"}, + Endpoint: oauth2.Endpoint{ + AuthURL: OAuthURI + "/authorize", + TokenURL: OAuthURI + "/oauth/token", + AuthStyle: oauth2.AuthStyleInParams, + }, + Scopes: []string{"openid", "offline_access"}, } )