1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
if True:
def status_update(smsg="", pc=-1):
global progress, statusmsg
if pc > 0 and pc != progress:
progress=min(pc, 100)
if (smsg != ""):
statusmsg=smsg
stdout(smsg)
status_update(" ", 80)
_return = persistent.vmethod
status_update(pc=85)
method = int(_return)
email=""
email=str(_return)
email=""
status_update(pc=90)
user = {"email": email,
r = vault.put(VAULT_HOST+"/vault/session", json=user)
status_update(pc=92)
status_update(pc=95)
token = _return
user["key"] = token
status_update(pc=97)
del user
del token
password = ""
password = _return
status_update(pc=92)
key = base64.b32decode(persistent.totp.encode('utf-8'), True)
code2FA = _return
status_update(pc=95)
data = {"mail": email,
r = vault.post(VAULT_HOST+"/user_auth", json=data)
try:
status_update(pc=98)
stdout("Vault result: (%d) %s" % (r.status_code, ifte(config.developer, r.text, "OK")))
auth2 = r.json()
vaultId = auth2["vaultId"]
vaultToken = auth2["token"]
except:
traceback.print_exc()
stdout("Error - Vault result is bad.")
del data
del code2FA
del method
del email
status_update(_("Success!"), 100)
status_update(_("{color=#F00}Failure!{/color}"), pc=100)
if _return.startswith("otpauth:"):
try:
tmp=_return.split("secret=")
_return=tmp[1].split("&")[0]
print("OTP Token: %s" % _return)
except:
renpy.call_screen("notice", _("Invalid OTPAuth URL.\nEnsure you used the URL sent to you by email!"))
persistent.totp = None
persistent.vmethod = None
persistent.vmethod = _return
|