I want to support JWTs, so I need to keep the token around; is there some facility to access this? Or should we just be registering our own javascript function to access this functionality for now?
Edit: per advice, I attempted to use JS interop as :
<script> localStorage.setItem("key1", "key1data"); Blazor.registerFunction("readStorage", (key) => { return localStorage.getItem(key); });</script>@if (jwtKey == null){<div class="login-panel"><p>JWT not loaded</p></div>}else{<div class="login-panel"><p>@jwtKey</p></div>}@functions { public RenderFragment Body { get; set; } string jwtKey; protected override async Task OnInitAsync() { jwtKey = RegisteredFunction.Invoke<string>("readStorage", "key1"); if (jwtKey == null) { jwtKey = "Unknown"; } }}But this results in a WASM error in diag:
WASM: [Microsoft.AspNetCore.Blazor.Browser.Interop.JavaScriptException] Could not find registered function with name 'readStorage'. WASM: Error: Could not find registered function with name 'readStorage'.
FYI, this is in the MainLayout.cshtml of the Blazor VS boilerplate project.
(can make a new Question if appropriate; somewhat related to this one though)