从外部应用Blazor WASM验证wordpress



wordpress上有一个网站。用户注册在网站上执行,帐户存储在网站数据库中。有必要使用系统和站点数据库对来自外部应用程序(Blazor WASM(的用户进行身份验证,之后,如果授权成功,用户将能够在外部应用程序中工作。

如何使用http请求实现这一点?

这将取决于一些事情-

  1. 您是否在单独的域上托管WASM应用程序?如果是这样,您将需要在服务器上配置CORS
  2. 您是如何维护经过身份验证的会话的?饼干?JSON Web令牌(JWT(?自定义访问令牌或id

您需要在所有HTTP请求中包含authorization标头,以确保用户仍然有权访问您的应用程序。幸运的是,使用Blazor WASM,有一种非常简单的方法可以使用AuthorizationMessageHandler的自定义实现将此标头添加到所有传出的HTTP请求中。下面是一个例子,我个人在我自己的Blazor WASM应用程序中成功地使用了这个确切的代码:

public class CorsAuthorizationMessageHandler : AuthorizationMessageHandler
{
public CorsAuthorizationMessageHandler(IAccessTokenProvider provider, 
NavigationManager navigation) : base(provider, navigation)
{
ConfigureHandler(
authorizedUrls: new[] { "https://api.myapp.com" }
);
}
}

这是它被添加到Program.cs:中的HttpClient

builder.Services.AddHttpClient(
"Private.ServerAPI", 
client => client.BaseAddress = new Uri("https://api.myapp.com")
).AddHttpMessageHandler<CorsAuthorizationMessageHandler>();

相关内容

  • 没有找到相关文章

最新更新