1 回答
TA贡献1850条经验 获得超11个赞
客户端应用程序负责在连接 openid 中间件时设置 OpenIdConnect 选项。选项对象的属性之一称为“ClaimActions”。这些声明操作允许客户端连接自定义映射属性。
以下是我添加到客户端启动类中的代码,以使该代码适用于一组自动序列化的声明。
services.AddAuthentication(options =>
{
options.DefaultScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
})
.AddCookie("Cookies")
.AddOpenIdConnect("oidc", options =>
{
options.SignInScheme = "Cookies";
options.Authority = "http://localhost:5000";
options.RequireHttpsMetadata = false;
options.ClientId = "mvc";
options.ClientSecret = "secret";
options.ResponseType = "code id_token";
options.SaveTokens = true;
options.GetClaimsFromUserInfoEndpoint = true;
options.Scope.Add("athlete.full");
options.Scope.Add("rights");
options.Scope.Add("email");
options.Scope.Add("address");
options.Scope.Add("phone");
options.Scope.Add("offline_access");
// These are what allowed the claims to be serialized for front-end consumption.
options.ClaimActions.MapJsonKey(JwtClaimTypes.WebSite, "website");
options.ClaimActions.MapJsonKey(JwtClaimTypes.Gender, "gender");
options.ClaimActions.MapJsonKey(JwtClaimTypes.BirthDate, "birthdate");
});
- 1 回答
- 0 关注
- 84 浏览
添加回答
举报