来自OpenIdConnect提供商的配置文件数据- Thinktecture IdentityServer V3
本文关键字:Thinktecture IdentityServer V3 数据 配置文件 OpenIdConnect 提供商 来自 | 更新日期: 2023-09-27 18:09:42
我使用Thinktecture IdentitiyServer V3作为OpenIdConnect提供程序进行身份验证。我有一个自定义用户服务,根据Active Directory对用户进行身份验证。我想把一些资料发给RP。身份验证正在成功进行,但我不确定如何配置RP以检索配置文件数据。
我的用户服务实现GetProfileDataAsync方法获得所需的数据与我当前的配置,这个方法永远不会被击中。
我是新的OpenIdConnect。请帮助。
My RP Configuration from Startup.cs:
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationType = "Cookies"
});
app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions()
{
Authority = "url",
ClientId = "owinmvc",
Scope = "openid profile",
ResponseType = "id_token token",
RedirectUri = "https://localhost:44307/",
SignInAsAuthenticationType = "Cookies",
Notifications = new OpenIdConnectAuthenticationNotifications()
{
SecurityTokenValidated = (context) =>
{
var identity = context.AuthenticationTicket.Identity;
identity.AddClaim(new Claim("CustomRoleClaim", "This is a role"));
return Task.FromResult(0);
}
}
});
您通过提供ResponseType="id_token令牌"请求身份令牌和访问令牌。尝试请求id_token只是为了检查GetProfileDataAsync是否会被执行。
还可以阅读scope的alwaysinclair udeinidtoken。默认情况下,如果身份令牌与访问令牌一起请求,则身份服务器不包含数据,假设您将通过UserInfo端点手动请求此信息。