https://auth.astravue.com/realms/astravue/protocol/openid-connect/auth
response_type=code
— Requests an authorization code.client_id=YOUR_CLIENT_ID
— Your app's Client ID.redirect_uri=YOUR_REGISTERED_REDIRECT_URI
— Must match one of the URIs you registered.state=RANDOM_STRING
— (Recommended) A random string to prevent CSRF attacks.https://auth.astravue.com/realms/astravue/protocol/openid-connect/auth?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&scope=openid&state=RANDOM_STRING
redirect_uri
with an authorization code
in the URL:https://yourapp.com/callback?code=AUTHORIZATION_CODE&state=RANDOM_STRING
POST https://auth.astravue.com/realms/astravue/protocol/openid-connect/token
grant_type=authorization_code
code=AUTHORIZATION_CODE
(from previous step)redirect_uri=YOUR_REGISTERED_REDIRECT_URI
client_id=YOUR_CLIENT_ID
client_secret=YOUR_CLIENT_SECRET
access_token
(valid for 30 minutes) and refresh_token
(long-lived).POST https://auth.astravue.com/realms/astravue/protocol/openid-connect/token
grant_type=refresh_token
refresh_token=YOUR_REFRESH_TOKEN
client_id=YOUR_CLIENT_ID
client_secret=YOUR_CLIENT_SECRET
access_token
and potentially a new refresh_token
.⚠️ Never expose your client secret in frontend or public code.