Freigabe → main: Mobile UI, Webhook, IMAP, Zahlung-Workflow und weitere Features #5
@@ -28,12 +28,19 @@ export class ApiKeyGuard implements CanActivate {
|
||||
if (apiKey) source = 'apiKey query param';
|
||||
}
|
||||
|
||||
// Fallback to Authorization: Bearer (used by SSE clients that can't set X-API-Key)
|
||||
// Fallback to Authorization: Bearer (used by SSE clients that can't set
|
||||
// X-API-Key). Nur akzeptieren, wenn das Token wie ein API-Key aussieht
|
||||
// (Präfix "pm_"). Ein (abgelaufenes) JWT als Bearer-Token wird hier ignoriert,
|
||||
// statt es fälschlich als API-Key zu prüfen – das vermeidet die irreführende
|
||||
// "Invalid API Key"-Warnung beim normalen JWT-Ablauf.
|
||||
if (!apiKey) {
|
||||
const auth: string | undefined = request.headers['authorization'];
|
||||
if (auth?.startsWith('Bearer ')) {
|
||||
apiKey = auth.slice(7);
|
||||
source = 'Authorization: Bearer';
|
||||
const token = auth.slice(7);
|
||||
if (token.startsWith('pm_')) {
|
||||
apiKey = token;
|
||||
source = 'Authorization: Bearer';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user