how do I get standard token using loginname and password?
I mean this document is point to how to get session token
https://zitadel.com/docs/guides/integrate/login-ui/username-password
but it can't use as user token
like the one from /oauth/v2/token
that got from ubtrispection callback code
I also try this
https://zitadel.com/docs/guides/integrate/login-ui/oidc-standard#get-auth-request-by-id
and it said
but I have send a requestAuthID that got from http request get /oauth/v2/authorize
here is my code (python django)
https://zitadel.com/docs/guides/integrate/login-ui/username-password
but it can't use as user token
like the one from /oauth/v2/token
that got from ubtrispection callback code
I also try this
https://zitadel.com/docs/guides/integrate/login-ui/oidc-standard#get-auth-request-by-id
and it said
Auth Request does not existAuth Request does not existbut I have send a requestAuthID that got from http request get /oauth/v2/authorize
here is my code (python django)
def post(self, request):
data = json.loads(request.body.decode('utf-8'))
payload = {
"checks": {
"user": {
"loginName": data['email']
},
"password": {
"password": data['password']
}
}
}
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {serviceusertoken}"
}
response = requests.post(f"{settings.ZITADEL_DOMAIN}/v2/sessions", headers=headers, json=payload)
status_code = response.status_code
response_body = {}
try:
response_body = response.json()
except json.JSONDecodeError:
response_body = response.text
print(f"Status Code: {status_code}")
print("Response Body:", response_body)
#get authRequestID https://zitadel.com/docs/guides/integrate/login-ui/oidc-standard#finalize-auth-request
request_auth_id = requests.get(url, allow_redirects=True)
redirected_url = request_auth_id.url
requestAuthID = str(redirected_url)
request_id = requestAuthID.split("authRequestID=")
authRequestID = request_id[1]
payload = json.dumps({
"session": {
"sessionId": response_body.get('sessionId'),
"sessionToken": response_body.get('sessionToken')
},
})
callbackurl = requests.post(f"{settings.ZITADEL_DOMAIN}/v2/oidc/auth_requests/{authRequestID}" , headers=headers , data=payload)
try:
callback_body = callbackurl.json()
except json.JSONDecodeError:
callback_body = callbackurl.text
return JsonResponse({"status_code": status_code, "requestAuthID" : authRequestID , "body": response_body , "callback" : callback_body})def post(self, request):
data = json.loads(request.body.decode('utf-8'))
payload = {
"checks": {
"user": {
"loginName": data['email']
},
"password": {
"password": data['password']
}
}
}
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {serviceusertoken}"
}
response = requests.post(f"{settings.ZITADEL_DOMAIN}/v2/sessions", headers=headers, json=payload)
status_code = response.status_code
response_body = {}
try:
response_body = response.json()
except json.JSONDecodeError:
response_body = response.text
print(f"Status Code: {status_code}")
print("Response Body:", response_body)
#get authRequestID https://zitadel.com/docs/guides/integrate/login-ui/oidc-standard#finalize-auth-request
request_auth_id = requests.get(url, allow_redirects=True)
redirected_url = request_auth_id.url
requestAuthID = str(redirected_url)
request_id = requestAuthID.split("authRequestID=")
authRequestID = request_id[1]
payload = json.dumps({
"session": {
"sessionId": response_body.get('sessionId'),
"sessionToken": response_body.get('sessionToken')
},
})
callbackurl = requests.post(f"{settings.ZITADEL_DOMAIN}/v2/oidc/auth_requests/{authRequestID}" , headers=headers , data=payload)
try:
callback_body = callbackurl.json()
except json.JSONDecodeError:
callback_body = callbackurl.text
return JsonResponse({"status_code": status_code, "requestAuthID" : authRequestID , "body": response_body , "callback" : callback_body})
