Harmony/users/keycloack_acces_token.py

87 lines
3.3 KiB
Python
Raw Normal View History

2024-03-05 11:23:18 +00:00
import requests
from djangoProject1 import settings
#Получение access_token
def get_access_token():
keycloack_server = settings.KEYCLOAK_CONFIG['SERVER_URL']
realm = settings.KEYCLOAK_CONFIG['REALM']
url = f'{keycloack_server}/realms/{realm}/protocol/openid-connect/token'
client_id = 'lowlight'
client_secret = settings.KEYCLOAK_CONFIG['CLIENT_SECRET']
username = 'lowlight'
password = ''
payload = {
'grant_type':'password',
'client_id':client_id,
'client_secret':client_secret,
'username':username,
'password':password,
}
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
}
response = requests.post(url,data=payload,headers=headers)
if response.ok:
data = response.json()
print('Acces Token:' ,data['access_token'])
print('Refresh Token:', data['refresh_token'])
return data['access_token']
else:
print('Error :',response.text)
def refresh_token():
keycloack_server = settings.KEYCLOAK_CONFIG['SERVER_URL']
realm = settings.KEYCLOAK_CONFIG['REALM']
url = f'{keycloack_server}/realms/{realm}/protocol/openid-connect/token'
client_id = 'lowlight'
refresh_token = 'eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIyMjRmYTgzYy00ZmMzLTQyMTgtYTEyMS00ZTQxZTdiYTVhNzcifQ.eyJleHAiOjE3MDg5NjYxOTcsImlhdCI6MTcwODk2NDM5NywianRpIjoiYWE5N2IwOTMtZjIxMS00N2VhLWFmNGItNjc5OTJiOTdkOGI5IiwiaXNzIjoiaHR0cHM6Ly9hdXRoLm15dGVyaW9yLmt6L3JlYWxtcy9IYXJtb255IiwiYXVkIjoiaHR0cHM6Ly9hdXRoLm15dGVyaW9yLmt6L3JlYWxtcy9IYXJtb255Iiwic3ViIjoiOWE3ZDNiNmUtZTExZi00OGQzLThmYzctMWMyOTZmZWE5MjYyIiwidHlwIjoiUmVmcmVzaCIsImF6cCI6Imxvd2xpZ2h0Iiwic2Vzc2lvbl9zdGF0ZSI6IjExNTJmYTkwLTM0ZmUtNGU1OS1iOTYyLTY5NDA0OWRiMGU2YiIsInNjb3BlIjoiZW1haWwgcHJvZmlsZSIsInNpZCI6IjExNTJmYTkwLTM0ZmUtNGU1OS1iOTYyLTY5NDA0OWRiMGU2YiJ9.-NifrZ0Y-d9-D5l6bxOn6RoTvqm9Ekvp9sTwP4oQoRw'
client_secret = settings.KEYCLOAK_CONFIG['CLIENT_SECRET']
payload = {
'client_id': client_id,
'grant_type': 'refresh_token',
'refresh_token': refresh_token,
'client_secret': client_secret,
}
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
}
response = requests.post(url, data=payload, headers=headers)
if response.ok:
data = response.json()
print('Access Token:', data.get('access_token'))
print('Refresh Token:', data.get('refresh_token'))
print('Data:', data)
else:
print('Error:', response.text)
def get_refresh_token():
keycloack_server = settings.KEYCLOAK_CONFIG['SERVER_URL']
realm = settings.KEYCLOAK_CONFIG['REALM']
url = f'{keycloack_server}/realms/{realm}/protocol/openid-connect/token'
client_id = 'lowlight'
client_secret = settings.KEYCLOAK_CONFIG['CLIENT_SECRET']
username = 'lowlight'
password = ''
payload = {
'grant_type': 'password',
'client_id': client_id,
'client_secret': client_secret,
'username': username,
'password': password,
}
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
}
response = requests.get(url,data=payload,headers = headers)
if response.ok:
data = response.json()
return ('Refresh Token',data.get('refresh_token'))
else:
print('Error :',response.text)