mirror of
https://github.com/os-mnemo/pan-globalprotect-okta
synced 2026-07-31 15:54:36 +02:00
Implement SMS verification.
This commit is contained in:
+20
-1
@@ -290,7 +290,26 @@ def okta_mfa_totp(conf, s, factor, state_token):
|
|||||||
return j.get('sessionToken', '').strip()
|
return j.get('sessionToken', '').strip()
|
||||||
|
|
||||||
def okta_mfa_sms(conf, s, factor, state_token):
|
def okta_mfa_sms(conf, s, factor, state_token):
|
||||||
return None
|
provider = factor.get('provider', '')
|
||||||
|
data = {
|
||||||
|
'factorId': factor.get('id'),
|
||||||
|
'stateToken': state_token,
|
||||||
|
}
|
||||||
|
log('mfa {0} sms request'.format(provider))
|
||||||
|
r = s.post(factor.get('url'), headers=hdr_json(), data=json.dumps(data))
|
||||||
|
if r.status_code != 200:
|
||||||
|
err('okta mfa request failed. {0}'.format(reprr(r)))
|
||||||
|
dbg(conf.get('debug'), 'mfa.response', r.status_code, r.text)
|
||||||
|
code = input('{0} SMS verification code: '.format(provider)).strip()
|
||||||
|
if len(code) == 0:
|
||||||
|
return None
|
||||||
|
data['passCode'] = code
|
||||||
|
r = s.post(factor.get('url'), headers=hdr_json(), data=json.dumps(data))
|
||||||
|
if r.status_code != 200:
|
||||||
|
err('okta mfa request failed. {0}'.format(reprr(r)))
|
||||||
|
dbg(conf.get('debug'), 'mfa.response', r.status_code, r.text)
|
||||||
|
j = parse_rjson(r)
|
||||||
|
return j.get('sessionToken', '').strip()
|
||||||
|
|
||||||
def okta_redirect(conf, s, session_token, redirect_url):
|
def okta_redirect(conf, s, session_token, redirect_url):
|
||||||
data = {
|
data = {
|
||||||
|
|||||||
Reference in New Issue
Block a user