Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mxrch
GitHub Repository: mxrch/GHunt
Path: blob/master/ghunt/parsers/identitytoolkit.py
252 views
1
from typing import *
2
from ghunt.objects.apis import Parser
3
4
5
class ITKProjectConfig(Parser):
6
def __init__(self):
7
self.project_id: str = ""
8
self.authorized_domains: List[str] = []
9
10
def _scrape(self, itk_project_config_data: Dict[str, any]):
11
self.project_id = itk_project_config_data.get('projectId')
12
self.authorized_domains = itk_project_config_data.get('authorizedDomains')
13
14
class ITKPublicKeys(Parser):
15
def __init__(self):
16
self.sk_ib_ng: str = ""
17
self.t_xew: str = ""
18
self.p_r_ww: str = ""
19
self.t_bma: str = ""
20
self.tl_gyha: str = ""
21
22
def _scrape(self, itk_public_keys_data: Dict[str, str]):
23
self.sk_ib_ng = itk_public_keys_data.get('skIBNg')
24
self.t_xew = itk_public_keys_data.get('7TX2ew')
25
self.p_r_ww = itk_public_keys_data.get('0pR3Ww')
26
self.t_bma = itk_public_keys_data.get('tB0M2A')
27
self.tl_gyha = itk_public_keys_data.get('tlGYHA')
28
29
class ITKSessionCookiePublicKeys(Parser):
30
def __init__(self):
31
self.keys: List[ITKSessionCookiePublicKey] = []
32
33
def _scrape(self, itk_session_cookie_public_keys_data: Dict[str, list]):
34
if (keys_data := itk_session_cookie_public_keys_data.get('keys')):
35
for keys_data_item in keys_data:
36
keys_item = ITKSessionCookiePublicKey()
37
keys_item._scrape(keys_data_item)
38
self.keys.append(keys_item)
39
40
class ITKSessionCookiePublicKey(Parser):
41
def __init__(self):
42
self.kty: str = ""
43
self.alg: str = ""
44
self.use: str = ""
45
self.kid: str = ""
46
self.n: str = ""
47
self.e: str = ""
48
49
def _scrape(self, itk_session_cookie_public_key_data: Dict[str, str]):
50
self.kty = itk_session_cookie_public_key_data.get('kty')
51
self.alg = itk_session_cookie_public_key_data.get('alg')
52
self.use = itk_session_cookie_public_key_data.get('use')
53
self.kid = itk_session_cookie_public_key_data.get('kid')
54
self.n = itk_session_cookie_public_key_data.get('n')
55
self.e = itk_session_cookie_public_key_data.get('e')
56
57
class ITKSignupNewUser(Parser):
58
def __init__(self):
59
self.kind: str = ""
60
self.id_token: str = ""
61
self.email: str = ""
62
self.refresh_token: str = ""
63
self.expires_in: str = ""
64
self.local_id: str = ""
65
66
def _scrape(self, itk_signup_data: Dict[str, str]):
67
self.kind = itk_signup_data.get('kind')
68
self.id_token = itk_signup_data.get('idToken')
69
self.email = itk_signup_data.get('email')
70
self.refresh_token = itk_signup_data.get('refreshToken')
71
self.expires_in = itk_signup_data.get('expiresIn')
72
self.local_id = itk_signup_data.get('localId')
73
74
class ITKVerifyPassword(Parser):
75
def __init__(self):
76
self.kind: str = ""
77
self.local_id: str = ""
78
self.email: str = ""
79
self.display_name: str = ""
80
self.id_token: str = ""
81
self.registered: bool = False
82
self.refresh_token: str = ""
83
self.expires_in: str = ""
84
85
def _scrape(self, itk_verify_password_data: Dict[str, any]):
86
self.kind = itk_verify_password_data.get('kind')
87
self.local_id = itk_verify_password_data.get('localId')
88
self.email = itk_verify_password_data.get('email')
89
self.display_name = itk_verify_password_data.get('displayName')
90
self.id_token = itk_verify_password_data.get('idToken')
91
self.registered = itk_verify_password_data.get('registered')
92
self.refresh_token = itk_verify_password_data.get('refreshToken')
93
self.expires_in = itk_verify_password_data.get('expiresIn')
94
95
96