Keycloak-Jakarta-Service-Filter-Adapter, die keine CORs für fehlgeschlagene Authentifizierungsantwort festlegenJava

Java-Forum
Anonymous
 Keycloak-Jakarta-Service-Filter-Adapter, die keine CORs für fehlgeschlagene Authentifizierungsantwort festlegen

Post by Anonymous »

Meine Jakarta-Webanwendung verwendet Keycloak-Jakarta-Service-Filter-Adapter, um die Authentifizierung von Keycloak zu bewältigen. Header eingestellt, aber nicht die tatsächliche Antwort (die mit Code 403).

Code: Select all

┌───────────────────────────────┐┌─────────────────────────────────┐
│ Token with required audience  ││ Token without required audience │
│                               ││                                 │
│            ┌────────────────┐ ││            ┌────────────────┐   │
│ ┌───────┐  │keycloak servlet│ ││ ┌───────┐  │keycloak servlet│   │
│ │Browser│  │filter adapter  │ ││ │Browser│  │filter adapter  │   │
│ └───┬───┘  └───────┬────────┘ ││ └───┬───┘  └───────┬────────┘   │
│     │              │          ││     │              │            │
│     │ OPTIONS     ┌┴┐         ││     │ OPTIONS     ┌┴┐           │
│     ├────────────►│ │         ││     ├────────────►│ │           │
│     │             │ │         ││     │             │ │           │
│     │  200 CORS   │ │         ││     │  200 CORS   │ │           │
│     │◄────────────┤ │         ││     │◄────────────┤ │           │
│     │             └┬┘         ││     │             └┬┘           │
│     │ GET         ┌┴┐         ││     │ GET         ┌┴┐           │
│     ├────────────►│ │         ││     ├────────────►│ │           │
│     │             │ │         ││     │             │ │           │
│     │    200 CORS │ │         ││     │ 403 no CORS │ │           │
│     │◄────────────┤ │         ││     │◄────────────┤ │           │
│     │             └┬┘         ││     │             └┬┘           │
└───────────────────────────────┘└─────────────────────────────────┘
Das Problem ist, dass mein Frontend die Antwort von 403 nicht verarbeiten kann, da der Browser (getestet auf Chrom und Firefox) die Antwort aufgrund der CORS -Richtlinie blockiert, was ich verstehe und akzeptiere. "Optionen" :

Code: Select all

at org.keycloak.adapters.PreAuthActionsHandler.preflightCors()
at org.keycloak.adapters.PreAuthActionsHandler.handleRequest()
at org.keycloak.adapters.servlet.KeycloakOIDCFilter.doFilter()
oder in der Methode AuthenticatedActionSandler.CorsRequest () Wenn das Token authentifiziert ist:
at org.keycloak.adapters.AuthenticatedActionsHandler.corsRequest()
at org.keycloak.adapters.AuthenticatedActionsHandler.handledRequest()
at org.keycloak.adapters.servlet.KeycloakOIDCFilter.doFilter()
< /code>

Warum setzt der Filter keine CORS -Header für 401 oder 403 Antworten? < /li>
Ist das ein normales Verhalten?

Wenn ja, wie kann ich damit in meiner Frontend -Anwendung umgehen? < /li>
< /u>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post