繁体   English   中英

在 Azure Functions 中使用 ASP.NET 标识

[英]Using ASP.NET Identity in Azure Functions

我正在开发一个以 VueJS 作为前端和 Azure Functions 作为后端的 WebApp。 此应用程序将供公司内部使用,因此无需登录社交网络。 所以我们计划使用成熟的 AspNetCore Identity,它似乎可以与 Functions 一起使用,只是还没有找到。

我设法让依赖注入为函数工作:

public class Startup : FunctionsStartup
{
    public override void Configure(IFunctionsHostBuilder builder)
    {
        string conn = Environment.GetEnvironmentVariable("sqldb_connection");
        
        builder.Services.Configure<IdentityOptions>(options =>
        {
            options.Password.RequireDigit = true;
            options.Password.RequireLowercase = true;
            options.Password.RequireNonAlphanumeric = true;
            options.Password.RequireUppercase = true;
            options.Password.RequiredLength = 6;
            options.Password.RequiredUniqueChars = 1;

            options.SignIn.RequireConfirmedEmail = false;
            options.SignIn.RequireConfirmedPhoneNumber = false;

            options.User.RequireUniqueEmail = true;
        });
        
        builder.Services.AddDbContext<DatabaseContext>(o =>
        {
            o.UseSqlServer(conn ?? throw new NullReferenceException("Environment Variable is Null"));
        });
        
        builder.Services.AddIdentity<IdentityUser, IdentityRole>()
            .AddEntityFrameworkStores<DatabaseContext>();

        builder.Services.AddAuthentication(options =>
        {
            options.AddScheme<JwtBearerHandler>("JWT", "JWT Bearer Handler");
        });
    }
}

我不知道AddScheme<JwtBearerHandler>(...); 是要走的路,如果是的话,不知道如何使用它。 我发现会消耗令牌,但如何创建它?

据我了解和理解你的问题,你想在你的Azure 函数中设置Azure AD 为此,您只需在门户上进行配置设置。

第1步:

在此处输入图片说明

第2步:

在此处输入图片说明

第 3 步:

在此处输入图片说明

第四步:

在此处输入图片说明

稍后通过 ARM 模板将其自动化。

您可以参考本教程: Azure Functions 中的 Azure AD 身份验证

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM