My Goal: I want to have the Browser some how pass a static Identifier to the Blazor server so that I can have the Blazor application push the correct information to it.
Consider these units/browser-clients to be like a Kiosk where they are all pre-configured, they just have to go to their end locations.
But when the machine turns on, the kiosk mode in Windows will open Edge and run the web application. I would like for the Client Browser to somehow submit some kind of message back to the Blazor web application that would include a unique identifier of some kind. Such as a GUID, something that won't change when the browsers cookies are flushed.
I sort of understand CORS policies, I understand why they exist, what they are for. I guess I don't have a lot of experience is setting the exceptions up, nor do I feel that I should spend my cycles on that.
What I tried to do is built a minimal API application that is deployed as a Windows Service that will output a GUID it writes once to a file. I attempted to have the Blazor application make a local javascript call to http://localhost, but the browser (for good reason) blocked that and put it under the CORS policy.
I would like to do something similar, but I don't want to have this as part of the URL, I want it to be as part of the host headers berceuse that gets encrypted.
I also want to stay secure/future-proof and I would like to not need to do anything specific with the devices before I send them out. What other tricks can I try here? I have researched this a lot but haven't come up with anything else.
User authentication is also not an option, I want them to be able to simply boot up from day one with out any intervention from anyone and just start working. Could there be some other 1 time set up authentication that would persist even after the user clears the cache, browser resets/updates, etc.?
Would something to do with Client certificates work? I am using Cloudflare Zero Trust Tunnels to proxy my traffic. (just an FYI)