wordpress 上有一个网站。用户注册在站点上执行,帐户存储在站点数据库中。有必要使用系统和站点数据库从外部应用程序 (Blazor WASM) 对用户进行身份验证,之后,在成功授权的情况下,用户将能够在外部应用程序中工作。
如何使用 http 请求来做到这一点?
wordpress 上有一个网站。用户注册在站点上执行,帐户存储在站点数据库中。有必要使用系统和站点数据库从外部应用程序 (Blazor WASM) 对用户进行身份验证,之后,在成功授权的情况下,用户将能够在外部应用程序中工作。
如何使用 http 请求来做到这一点?
这将取决于几件事 -
您需要在authorization所有 HTTP 请求中包含标头,以确保用户仍然有权访问您的应用程序。幸运的是,使用 Blazor WASM 有一种非常简单的方法,可以使用AuthorizationMessageHandler. 这是我个人在自己的 Blazor WASM 应用程序中成功使用此确切代码的示例:
public class CorsAuthorizationMessageHandler : AuthorizationMessageHandler
{
public CorsAuthorizationMessageHandler(IAccessTokenProvider provider,
NavigationManager navigation) : base(provider, navigation)
{
ConfigureHandler(
authorizedUrls: new[] { "https://api.myapp.com" }
);
}
}
这是它被添加到HttpClientin Program.cs:
builder.Services.AddHttpClient(
"Private.ServerAPI",
client => client.BaseAddress = new Uri("https://api.myapp.com")
).AddHttpMessageHandler<CorsAuthorizationMessageHandler>();