我想设置一个Blazor客户端应用程序,通过AWS Cognito进行身份验证。
\n\n当我运行应用程序时,我没有重定向到登录页面,而是页面显示“正在授权...”几秒钟,同时我在控制台中收到此错误:
\n\nThe loading of \xe2\x80\x9chttps://blazorapp.auth.eu-central-1.amazoncognito.com/login?\xe2\x80\xa6Q&code_challenge_method=S256&prompt=none&response_mode=query\xe2\x80\x9d in a frame is denied by \xe2\x80\x9cX-Frame-Options\xe2\x80\x9c directive set to \xe2\x80\x9cDENY\xe2\x80\x9c.\nThis error page has no error code in its security info\ninfo: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[2]\n Authorization failed.\nRun Code Online (Sandbox Code Playgroud)\n\n然后,默认“Hello, world!” 显示索引页面(尽管据我了解,根据 App.razor 定义,未经身份验证的用户不应该看到它?)。如果我单击“登录”,我会在控制台中收到相同的错误,但几秒钟后,Cognito 托管的登录页面打开,我能够登录,我会被重定向回我的应用程序,并且应用程序显示经过身份验证的用户信息位于右上角,但控制台又有点奇怪:
\n\ninfo: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[2]\n Authorization failed.\ninfo: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[1]\n Authorization was successful.\nRun Code Online (Sandbox Code Playgroud)\n\n问题1
\n\n如何消除这些错误并让我的应用程序重定向到 Cognito 登录页面而不会延迟约 10 秒?
\n\n问题2
\n\n为什么无论我是否通过身份验证,我的应用程序中的所有内容始终可见?就好像inNotAuthorized下的节点根本没有任何效果,除非我在这里混淆了一些东西AuthorizeRouteViewApp.razor
代码:
\n\n程序.cs
\n\nbuilder.Services.AddOidcAuthentication(options =>\n{\n options.ProviderOptions.Authority = …Run Code Online (Sandbox Code Playgroud)