我有一个使用Firebase jwt令牌身份验证的API。
在Startup.cs
我已注册Identity
:
services.AddIdentity<ApplicationUser, IdentityRole>(config => {
config.User.RequireUniqueEmail = true;
config.Password.RequireNonAlphanumeric = false;
config.Cookies.ApplicationCookie.AutomaticChallenge = false;
})
.AddEntityFrameworkStores<DatabaseContext>()
.AddDefaultTokenProviders();
并添加了Jwt Token中间件:
app.UseJwtBearerAuthentication(new JwtBearerOptions
{
AutomaticAuthenticate = true,
IncludeErrorDetails = true,
Authority = "https://securetoken.google.com/[my-project-id]",
TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = "https://securetoken.google.com/[my-project-id]",
ValidateAudience = true,
ValidAudience = "[my-project-id]",
ValidateLifetime = true,
},
});
我正在用[Authorize]
保护我的路线以及它正常工作的一切。 HttpContext.User.Identity.Authenticated
属性设置为true
,但User
对象上的所有其他内容都为null,名称,电子邮件等。
有没有办法将令牌中间件生成的用户链接到我的数据库中的用户?从我的控制器访问这些信息的最佳方法是什么?
答案 0 :(得分:0)
我曾经遇到过类似的问题,并且能够从“ HttpContext.User.Claims”获取用户电子邮件。
确保您根据Json字符串生成POCO类。
------------------控制器代码---------------------
df <- tibble( Infection_Risk = rnorm(100, 4.5, 2))
outliers <- tibble(x = c(7.7, 7.6, 7.8, 1.3, 1.3, 1.4), y = 0)
ggplot(df,aes(x=df$Infection_Risk)) + geom_density() + xlab("\n Infection
Risk") + ylab("Density \n") +
geom_jitter(data = outliers, aes(x,y), height = 0.01)
------------------模型类---------------------
let names = ['pete', 'dave', 'sara', 'toni', 'michael'];
const convertedNames= names.slice();
console.log(names);
console.log(convertedNames);