fix session token regex (fix #174)

This commit is contained in:
eli fessler 2024-02-27 22:52:11 +09:00
parent c1ea0c5b91
commit 81030982fd
2 changed files with 6 additions and 8 deletions

12
iksm.py
View File

@ -159,7 +159,7 @@ def log_in(ver, app_user_agent, f_gen_url):
auth_code_verifier = base64.urlsafe_b64encode(os.urandom(32))
auth_cv_hash = hashlib.sha256()
auth_cv_hash.update(auth_code_verifier.replace(b"=", b""))
auth_cv_hash.update(auth_code_verifier.replace(b'=', b''))
auth_code_challenge = base64.urlsafe_b64encode(auth_cv_hash.digest())
app_head = {
@ -179,7 +179,7 @@ def log_in(ver, app_user_agent, f_gen_url):
'client_id': '71b963c1b7b6d119',
'scope': 'openid user user.birthday user.mii user.screenName',
'response_type': 'session_token_code',
'session_token_code_challenge': auth_code_challenge.replace(b"=", b""),
'session_token_code_challenge': auth_code_challenge.replace(b'=', b''),
'session_token_code_challenge_method': 'S256',
'theme': 'login_form'
}
@ -194,15 +194,14 @@ def log_in(ver, app_user_agent, f_gen_url):
use_account_url = input("")
if use_account_url == "skip":
return "skip"
session_token_code = re.search('de=(.*)&', use_account_url)
return get_session_token(session_token_code.group(1), auth_code_verifier)
session_token_code = re.search('de=(.*)&st', use_account_url).group(1)
return get_session_token(session_token_code, auth_code_verifier)
except KeyboardInterrupt:
print("\nBye!")
sys.exit(1)
except AttributeError:
print("Malformed URL. Please try again, or press Ctrl+C to exit.")
print("URL:", end=' ')
sys.exit(1)
def get_session_token(session_token_code, auth_code_verifier):
@ -224,11 +223,10 @@ def get_session_token(session_token_code, auth_code_verifier):
body = {
'client_id': '71b963c1b7b6d119',
'session_token_code': session_token_code,
'session_token_code_verifier': auth_code_verifier.replace(b"=", b"")
'session_token_code_verifier': auth_code_verifier.replace(b'=', b'')
}
url = 'https://accounts.nintendo.com/connect/1.0.0/api/session_token'
r = session.post(url, headers=app_head, data=body)
try:
container = json.loads(r.text)

2
s3s.py
View File

@ -11,7 +11,7 @@ import requests, msgpack
from packaging import version
import iksm, utils
A_VERSION = "0.6.2"
A_VERSION = "0.6.3"
DEBUG = False