Thanks for your help and responses @robotdan!
@ethalacker and I have been going over this and we believe we understand why things are working the way they are.
The Origin header is not being sent by the Blazor authentication system which is based on odic-client.js. Since the requests are coming from ajax/XHR and the Sec-Fetch-Mode
header is navigate
, the browser will not include the Origin
header according to the Fetch API. Thus there is not a header for Fusion Auth to check.
What I do find a bit confusing is the following. Why does Fusion Auth return the full login page html with an X-Frame-Options
header with DENY
, if it can see Sec-Fetch-Dest
header is iframe
and there is not a Origin
header to check against the Authorized request origin URLs
. It would make more sense to me to return a 302 redirect
to the application login callback.
We have tested our application against several oidc providers, and the other providers do a 302 redirect
to the application login callback.