39 lines
827 B
Python
39 lines
827 B
Python
import time
|
|
|
|
|
|
class DeviceCredentialMixin:
|
|
def get_client_id(self):
|
|
raise NotImplementedError()
|
|
|
|
def get_scope(self):
|
|
raise NotImplementedError()
|
|
|
|
def get_user_code(self):
|
|
raise NotImplementedError()
|
|
|
|
def is_expired(self):
|
|
raise NotImplementedError()
|
|
|
|
|
|
class DeviceCredentialDict(dict, DeviceCredentialMixin):
|
|
def get_client_id(self):
|
|
return self["client_id"]
|
|
|
|
def get_scope(self):
|
|
return self.get("scope")
|
|
|
|
def get_user_code(self):
|
|
return self["user_code"]
|
|
|
|
def get_nonce(self):
|
|
return self.get("nonce")
|
|
|
|
def get_auth_time(self):
|
|
return self.get("auth_time")
|
|
|
|
def is_expired(self):
|
|
expires_at = self.get("expires_at")
|
|
if expires_at:
|
|
return expires_at < time.time()
|
|
return False
|