mirror of
https://github.com/flobz/psa_car_controller.git
synced 2026-08-26 10:17:18 +00:00
keep the same device_id when create new_otp_session
This commit is contained in:
+5
-5
@@ -228,11 +228,11 @@ class MyPSACC:
|
||||
logger.error(traceback.format_exc())
|
||||
return self.vehicles_list
|
||||
|
||||
def load_otp(self, new=False):
|
||||
def load_otp(self, force_new=False):
|
||||
otp_session = load_otp()
|
||||
if otp_session is None or new:
|
||||
if otp_session is None or force_new:
|
||||
self.get_sms_otp_code()
|
||||
otp_session = new_otp_session()
|
||||
otp_session = new_otp_session(otp_session)
|
||||
self.otp = otp_session
|
||||
|
||||
def get_sms_otp_code(self):
|
||||
@@ -251,7 +251,7 @@ class MyPSACC:
|
||||
try:
|
||||
otp_code = self.otp.get_otp_code()
|
||||
except ConfigException:
|
||||
self.load_otp(new=True)
|
||||
self.load_otp(force_new=True)
|
||||
otp_code = self.otp.get_otp_code()
|
||||
save_otp(self.otp)
|
||||
return otp_code
|
||||
@@ -273,7 +273,7 @@ class MyPSACC:
|
||||
self.manager._refresh_token()
|
||||
if self.remote_refresh_token is None:
|
||||
logger.error("remote_refresh_token isn't defined")
|
||||
self.load_otp(new=True)
|
||||
self.load_otp(force_new=True)
|
||||
res = self.manager.post(remote_url + self.client_id,
|
||||
json={"grant_type": "refresh_token", "refresh_token": self.remote_refresh_token},
|
||||
headers=self.headers)
|
||||
|
||||
+7
-4
@@ -69,7 +69,7 @@ class Otp:
|
||||
iw_host = "https://otp.mpsa.com"
|
||||
proxies = None
|
||||
|
||||
def __init__(self, inwebo_access_id):
|
||||
def __init__(self, inwebo_access_id, device_id=token_hex(8)):
|
||||
self.Kiw = None
|
||||
self.pinmode = None
|
||||
self.Kfact = None
|
||||
@@ -78,7 +78,7 @@ class Otp:
|
||||
self.serviceid = None
|
||||
self.alias = None
|
||||
self.iwalea = token_hex(16)
|
||||
self.device_id = token_hex(8)
|
||||
self.device_id = device_id
|
||||
self.codepin = None
|
||||
self.challenge = ""
|
||||
self.action = ""
|
||||
@@ -309,8 +309,11 @@ def load_otp(filename="otp.bin"):
|
||||
return None
|
||||
|
||||
|
||||
def new_otp_session():
|
||||
otp = Otp("bb8e981582b0f31353108fb020bead1c")
|
||||
def new_otp_session(old_otp_session: Otp = None):
|
||||
if old_otp_session is None:
|
||||
otp = Otp("bb8e981582b0f31353108fb020bead1c")
|
||||
else:
|
||||
otp = Otp("bb8e981582b0f31353108fb020bead1c", device_id=old_otp_session.device_id)
|
||||
otp.smsCode = input("What is the code you just received by SMS ?")
|
||||
otp.codepin = input("What is your app pin code ?")
|
||||
otp.activation_start()
|
||||
|
||||
Reference in New Issue
Block a user