.Net Core Web API承载颁发者无效

时间:2020-09-01 19:59:55

标签: jwt identityserver4 blazor webapi

我已经基于最新的Microsoft模板编写了Blazor WASM应用程序。在开发模式下,一切正常,但是将其发布到Azure App Service之后,我在调用API时会随机得到401未经授权,并查看返回的标头

WWW-Authenticate: Bearer error="invalid_token", error_description="The issuer 'https://*domain*.azurewebsites.net' is invalid"

这是客户端使用https:// domain .azurewebsites.net客户端的时间。因此它与网络API相匹配。

我还有一个附加到应用程序服务的自定义域,这意味着也有https:// www。 domain .co.uk和https:// domain .co.uk都经过SSL认证。

我已经检查了JWT令牌,并且该令牌包含我所呼叫网站版本的正确URL。

有时一切正常,但60%的时间允许用户登录,然后API调用失败。我似乎无法将其跟踪到1个域名或过期登录之类的模式。如果先注销然后再登录,则不能解决问题。

配置看起来像这样

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
            app.UseDatabaseErrorPage();
            app.UseWebAssemblyDebugging();
        }
        else
        {
            app.UseExceptionHandler("/Error");
        }

        app.UseHttpsRedirection();
        app.UseBlazorFrameworkFiles();
        app.UseStaticFiles();

        app.UseRouting();

        app.UseIdentityServer();
        app.UseAuthentication();
        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapRazorPages();
            endpoints.MapControllers();
            endpoints.MapFallbackToFile("index.html");
        });
    }

感谢任何帮助或正确方向的提示

欢呼

戴夫

0 个答案:

没有答案