在ASP.NET核心样板文件中集成Azure AD身份验证

在ASP.NET核心样板文件中集成Azure AD身份验证,asp.net,azure-active-directory,abp,Asp.net,Azure Active Directory,Abp,我从(ASP.NET Core with Angular SPA)下载了免费模板,现在正尝试集成Azure广告验证。我尝试了微软提供的一些例子,这些都可以,但是,我无法让它与这个模板一起工作 有谁能指导我如何使用ABPAuthorize属性设置它吗?我目前正在从登录服务获取一个有效的JWT令牌,但在使用该令牌时,我得到一个403禁止的错误 提前谢谢 我也在努力解决同样的问题。 我想出了这个主意,但它只解决了部分问题。 之后,您应该能够通过Azure AD连接控制器 添加到appsettings.

我从(ASP.NET Core with Angular SPA)下载了免费模板,现在正尝试集成Azure广告验证。我尝试了微软提供的一些例子,这些都可以,但是,我无法让它与这个模板一起工作

有谁能指导我如何使用ABPAuthorize属性设置它吗?我目前正在从登录服务获取一个有效的JWT令牌,但在使用该令牌时,我得到一个403禁止的错误


提前谢谢

我也在努力解决同样的问题。 我想出了这个主意,但它只解决了部分问题。 之后,您应该能够通过Azure AD连接控制器

  • 添加到appsettings.json
  • 安装nuget软件包 Microsoft.AspNetCore.Authentication.AzureAD.UIYourNamespace.Web.Host
  • 添加到Startup.cs
    app.UseAuthorization()
    e、 g:
  • 添加到AuthConfigurer.cs
  • 然后在头中传递令牌
  • 待办事项:
    在ABP框架中验证或注册用户

    我也遇到了同样的问题。 我想出了这个主意,但它只解决了部分问题。 之后,您应该能够通过Azure AD连接控制器

  • 添加到appsettings.json
  • 安装nuget软件包 Microsoft.AspNetCore.Authentication.AzureAD.UIYourNamespace.Web.Host
  • 添加到Startup.cs
    app.UseAuthorization()
    e、 g:
  • 添加到AuthConfigurer.cs
  • 然后在头中传递令牌
  • 待办事项:
    在ABP框架中验证或注册用户

    你能告诉我们你尝试过哪些示例吗?嘿,里卡多。我尝试了以下示例:它创建了一个新的应用程序注册,我可以下载一个解决方案。在运行解决方案时,这是有效的。然后,我将示例中所有必要的配置和代码复制到我下载的模板中,但该模板不起作用。您可以通过github或类似工具共享您的代码吗?我找不到ABPAuthorize(属性?),所以ABPAuthorize属性是来自模板的。可以在以下位置找到来自aspnetcoreboolerplate模板的源代码:。Microsft的示例是使用标准的Authorize属性来保护端点。我的问题与这篇文章有关:我也有同样的问题,我试图使用AZure AD生成的JWT令牌进行身份验证。但我猜AbpAuthorize属性也在检查其他内容。@Jorensynave好的,我会看一看,然后再回来找你。你能告诉我们你尝试过哪些示例吗?嘿,Ricardo。我尝试了以下示例:它创建了一个新的应用程序注册,我可以下载一个解决方案。在运行解决方案时,这是有效的。然后,我将示例中所有必要的配置和代码复制到我下载的模板中,但该模板不起作用。您可以通过github或类似工具共享您的代码吗?我找不到ABPAuthorize(属性?),所以ABPAuthorize属性是来自模板的。可以在以下位置找到来自aspnetcoreboolerplate模板的源代码:。Microsft的示例是使用标准的Authorize属性来保护端点。我的问题与这篇文章有关:我也有同样的问题,我试图使用AZure AD生成的JWT令牌进行身份验证。但我猜AbpAuthorize属性也在检查其他内容。@JorenSynaeve好的,我会看一看,然后再回来找你。
      "Authentication": {
        "AzureAd": {
          "IsEnabled": "true",
          "Instance": "https://login.microsoftonline.com/",
          "Domain": "myDomain.onmicrosoft.com",
          "TenantId": "57****t6",
          "ClientId": "8a***44",
          "CallbackPath": "/signin-oidc"
        }
    
    public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
    {
        ...
        app.UseAuthentication();
        app.UseAuthorization();
        ...
    }
    
    public static void Configure(IServiceCollection services, IConfiguration configuration)
    {
        if (bool.Parse(configuration["Authentication:AzureAd:IsEnabled"]))
        {
            services.AddAuthentication(AzureADDefaults.BearerAuthenticationScheme)
            .AddAzureADBearer(options => configuration.Bind("Authentication:AzureAd", options));
    
            services.Configure<OpenIdConnectOptions>(AzureADDefaults.OpenIdScheme, options =>
            {
                options.Authority = options.Authority + "/v2.0/";
                options.TokenValidationParameters.ValidateIssuer = false;
            });
        }            ...
    }
    
    [Authorize(AuthenticationSchemes = AzureADDefaults.BearerAuthenticationScheme)]
    [Route("api/[controller]/[action]")]
    [ApiController]
    public class HelloController : LouncherPadControllerBase
    {
        [HttpGet]
        public string Get()
        {
            return "Hello, this controller works!";
        }
    }