mirror of
https://github.com/norohind/FDEV-CAPI-Handler.git
synced 2026-10-27 01:16:03 +03:00
WIP: full refactor
This commit is contained in:
11 files changed
+904
-2
No files matched your search
@@ -0,0 +1,50 @@
|
||||
import hashlib
|
||||
import base64
|
||||
import requests
|
||||
import config
|
||||
|
||||
|
||||
def get_tokens_request(code, code_verifier) -> requests.Response:
|
||||
"""
|
||||
Performs initial requesting access and refresh tokens
|
||||
|
||||
:param code:
|
||||
:param code_verifier:
|
||||
:return:
|
||||
"""
|
||||
token_request: requests.Response = requests.post(
|
||||
url=config.TOKEN_URL,
|
||||
headers={
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'User-Agent': config.PROPER_USER_AGENT
|
||||
},
|
||||
data=f'redirect_uri={config.REDIRECT_URL}&'
|
||||
f'code={code}&'
|
||||
f'grant_type=authorization_code&'
|
||||
f'code_verifier={code_verifier}&'
|
||||
f'client_id={config.CLIENT_ID}')
|
||||
|
||||
return token_request
|
||||
|
||||
|
||||
def get_nickname(access_token: str) -> str:
|
||||
return requests.get(
|
||||
url='https://companion.orerve.net/profile',
|
||||
headers={'Authorization': f'Bearer {access_token}',
|
||||
'User-Agent': config.PROPER_USER_AGENT}).json()["commander"]["name"]
|
||||
|
||||
|
||||
def refresh_request(refresh_token: str) -> requests.Response:
|
||||
return requests.post(
|
||||
url=config.TOKEN_URL,
|
||||
headers={'Content-Type': 'application/x-www-form-urlencoded'},
|
||||
data=f'grant_type=refresh_token&client_id={config.CLIENT_ID}&refresh_token={refresh_token}')
|
||||
|
||||
|
||||
def generate_challenge(_verifier: bytes) -> str:
|
||||
"""
|
||||
It takes code verifier and return code challenge
|
||||
:param _verifier:
|
||||
:return:
|
||||
"""
|
||||
return base64.urlsafe_b64encode(hashlib.sha256(_verifier).digest())[:-1].decode('utf-8')
|
||||
Reference in new issue
Block a user