wordpress 上有一个网站。 用户注册在站点上进行,帐户存储在站点数据库中。 需要使用系统和站点数据库从外部应用程序 (Blazor WASM) 对用户进行身份验证,之后,如果授权成功,用户将能够在外部应用程序中工作。
如何使用 http 请求来做到这一点?
答案 0 :(得分:0)
这取决于一些事情 -
您需要在所有 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" }
);
}
}
这是它被添加到 HttpClient
中的 Program.cs
:
builder.Services.AddHttpClient(
"Private.ServerAPI",
client => client.BaseAddress = new Uri("https://api.myapp.com")
).AddHttpMessageHandler<CorsAuthorizationMessageHandler>();