fix: improve error handling and logging in OIDC token exchange and redirect callback

This commit is contained in:
Mabe
2026-06-21 17:25:46 +02:00
parent c2f8c36bbb
commit fd9f9a13ba
2 changed files with 14 additions and 5 deletions
+5 -1
View File
@@ -115,7 +115,11 @@ async def auth_callback(payload: AuthCallbackRequest):
if response.status_code != 200:
raise HTTPException(status_code=400, detail=f"OIDC token exchange failed: {response.text}")
return response.json()
result = response.json()
logger.debug("OIDC token exchange result keys: %s", list(result.keys()))
if "access_token" not in result:
logger.warning("OIDC token response missing access_token; may return only id_token or an opaque token")
return result
@app.post("/chat", response_class=StreamingResponse)
async def chat(request: ChatRequest, token=Depends(validate_token)):
+9 -4
View File
@@ -166,12 +166,16 @@ async function handleRedirectCallback(): Promise<string | null> {
const result = await response.json()
const token = result.access_token || result.id_token
if (response.ok && token) {
setLocalToken(token)
return token
console.debug('OIDC callback result:', result)
if (!response.ok) {
throw new Error(result.error_description || 'OIDC callback failed')
}
if (!token) {
throw new Error('OIDC callback did not return an access token')
}
throw new Error(result.error_description || 'OIDC callback failed')
setLocalToken(token)
return token
}
function App() {
@@ -207,6 +211,7 @@ function App() {
)
async function login() {
clearLocalToken()
try {
const config = await fetchOIDCConfig()
const state = generateUUID()