小编mat*_*dej的帖子

Blazor WebAssembly + Amazon Cognito

我想设置一个Blazor客户端应用程序,通过AWS Cognito进行身份验证。

\n\n

当我运行应用程序时,我没有重定向到登录页面,而是页面显示“正在授权...”几秒钟,同时我在控制台中收到此错误:

\n\n
The 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.\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后,默认“Hello, world!” 显示索引页面(尽管据我了解,根据 App.razor 定义,未经身份验证的用户不应该看到它?)。如果我单击“登录”,我会在控制台中收到相同的错误,但几秒钟后,Cognito 托管的登录页面打开,我能够登录,我会被重定向回我的应用程序,并且应用程序显示经过身份验证的用户信息位于右上角,但控制台又有点奇怪:

\n\n
info: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[2]\n      Authorization failed.\ninfo: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[1]\n      Authorization was successful.\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题1

\n\n

如何消除这些错误并让我的应用程序重定向到 Cognito 登录页面而不会延迟约 10 秒?

\n\n

问题2

\n\n

为什么无论我是否通过身份验证,我的应用程序中的所有内容始终可见?就好像inNotAuthorized下的节点根本没有任何效果,除非我在这里混淆了一些东西AuthorizeRouteViewApp.razor

\n\n

代码:

\n\n

程序.cs

\n\n
builder.Services.AddOidcAuthentication(options =>\n{\n    options.ProviderOptions.Authority = …
Run Code Online (Sandbox Code Playgroud)

.net amazon-cognito .net-core blazor blazor-client-side

5
推荐指数
1
解决办法
4738
查看次数