首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Azure AD身份验证向Blazor Server api验证Blazor WebAssembly

如何使用Azure AD身份验证向Blazor Server api验证Blazor WebAssembly
EN

Stack Overflow用户
提问于 2021-07-11 19:04:00
回答 1查看 104关注 0票数 0

我已经使用.NET 5创建了两个项目: Blazor WebAssembly和Blazor Server API。我能够使用Azure AD通过单点登录成功登录这两个应用程序。这两个应用程序目前都部署在prem上。

现在,我想保护Server API,但在配置Blazor Webassembly以使用httpClient向服务器api进行身份验证时遇到了问题。我对在web程序集中设置作用域感到困惑,因为大多数示例都使用Graph或Identity Server。谁有一个可行的例子,或者可以引导我朝着正确的方向前进?谢谢

代码语言:javascript
复制
public class ServerAuthorizationMessageHandler : AuthorizationMessageHandler
{
    public ServerAuthorizationMessageHandler(IAccessTokenProvider provider, IConfiguration configuration,
        NavigationManager navigationManager)
        : base(provider, navigationManager)
    {
        var serverUrl = configuration["AppSettings:ServerUrl"];

        ConfigureHandler(
           authorizedUrls: new[] { serverUrl },
           scopes: new[] { "api://lkjlkj/ReadAccess" }
        );
    }
}

Program.cs

代码语言:javascript
复制
builder.Services.AddHttpClient("Server", client => client.BaseAddress = new Uri(serverUrl))
          .AddHttpMessageHandler<ServerAuthorizationMessageHandler>();

        builder.Services.AddMsalAuthentication(options =>
        {
            builder.Configuration.Bind("AzureAd", options.ProviderOptions.Authentication);
            options.ProviderOptions.DefaultAccessTokenScopes.Add("???????");
EN

回答 1

Stack Overflow用户

发布于 2021-07-11 19:13:37

多!Visual Studio 2019有一个内置的Blazor模板,就是这个场景!!

选择Blazor Web Assembly,然后选择在ASP核心中承载的选项

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68335582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档