在解释我的问题之前,我想分享一些关于我要做什么的见解。我正在Azure中开发无服务器应用程序。我的azure应用程序服务计划包含多个azure函数应用程序,每个函数应用程序中都包含多个azure函数(HTTP触发器/ API)。现在,我想对所有无服务器API进行身份验证。我正在使用Firebase验证我的用户。我如何以最小的和可重用的方式实现它。
我已经在asp.net核心中使用firebase以整体方式进行身份验证,但是对于这种情况,我不确定该怎么办。
以整体方式。在我们的ConfigureServices方法中,我们需要注册处理身份验证和指定Firebase项目参数所需的服务。
services
.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.Authority = "https://securetoken.google.com/my-firebase-project";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = "https://securetoken.google.com/my-firebase-project",
ValidateAudience = true,
ValidAudience = "my-firebase-project",
ValidateLifetime = true
};
});
然后在我们的Configure方法中,我们必须做一个简单的调用来注册将处理身份验证的实际中间件。
app.UseAuthentication();