Websocket

- Continuing 42login but problem with api https://api.intra.42.fr/v2/me
This commit is contained in:
Kum1ta
2024-08-10 00:44:00 +02:00
parent 5e7fc48952
commit 85bc8b919b
2 changed files with 31 additions and 29 deletions

View File

@ -3,10 +3,10 @@
/* ::: :::::::: */ /* ::: :::::::: */
/* connectedWith42.js :+: :+: :+: */ /* connectedWith42.js :+: :+: :+: */
/* +:+ +:+ +:+ */ /* +:+ +:+ +:+ */
/* By: edbernar <edbernar@student.42.fr> +#+ +:+ +#+ */ /* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/08/09 09:15:24 by edbernar #+# #+# */ /* Created: 2024/08/09 09:15:24 by edbernar #+# #+# */
/* Updated: 2024/08/09 09:18:26 by edbernar ### ########.fr */ /* Updated: 2024/08/09 23:23:46 by edbernar ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -16,9 +16,9 @@ function connectedWith42Func()
{ {
const token42 = window.location.search.split('code=')[1]; const token42 = window.location.search.split('code=')[1];
console.log("connectedWith42Func"); if (!token42)
return ;
sendRequest("login", {type: "by42", token: token42}); sendRequest("login", {type: "by42", token: token42});
console.log(token42);
} }
export { connectedWith42Func }; export { connectedWith42Func };

View File

@ -3,10 +3,10 @@
# ::: :::::::: # # ::: :::::::: #
# login42.py :+: :+: :+: # # login42.py :+: :+: :+: #
# +:+ +:+ +:+ # # +:+ +:+ +:+ #
# By: edbernar <edbernar@student.42.fr> +#+ +:+ +#+ # # By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2024/08/09 09:32:17 by edbernar #+# #+# # # Created: 2024/08/09 09:32:17 by edbernar #+# #+# #
# Updated: 2024/08/09 10:03:54 by edbernar ### ########.fr # # Updated: 2024/08/10 00:42:38 by edbernar ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -17,15 +17,20 @@ import os
UID42 = os.environ.get("uid") UID42 = os.environ.get("uid")
SECRET42 = os.environ.get("secret") SECRET42 = os.environ.get("secret")
TOKENURL = 'https://api.intra.42.fr/oauth/token' TOKENURL = 'https://api.intra.42.fr/oauth/token'
INFOURL = 'https://api.intra.42.fr/v2/me' INFOURL = 'https://api.intra.42.fr/v2/me'
access_token = "" access_token = ""
if (UID42 == None or SECRET42 == None):
print("Please set the environment variables uid and secret")
exit()
def main42login(content): def main42login(content):
global access_token global access_token
print(UID42)
print(SECRET42) try:
data = { data = {
'grant_type': 'client_credentials', 'grant_type': 'client_credentials',
'client_id': UID42, 'client_id': UID42,
@ -33,18 +38,15 @@ def main42login(content):
} }
response = requests.post(TOKENURL, data=data) response = requests.post(TOKENURL, data=data)
access_token = response.json()["access_token"] access_token = response.json()["access_token"]
data = { print("Access Token: ", access_token)
'grant_type': 'authorization_code', headers = {
'client_id': UID42, 'Authorization': 'Bearer ' + access_token,
'client_secret': SECRET42,
'code': content["token"],
'redirect_uri': 'http://localhost:3000',
} }
response = requests.get('https://api.intra.42.fr/v2/me', headers={'Authorization': 'Bearer ' + access_token}) response = requests.get(INFOURL, headers=headers)
print("Code: ", response.status_code)
if (response.status_code != 200):
raise Exception("")
response = response.json() response = response.json()
print(response) print(response)
except Exception as e:
print("Error in main42login")
print(e)