В настоящее время я создаю API, который должен использовать Identity Framework и OpenIddict для фактического входа пользователя в систему.
Я фактически создаю простой билет аутентификации, подобный этому
private AuthenticationTicket CreateTicket(OpenIdConnectRequest connectRequest, OAuthApplication application)
{
// Create a new ClaimsIdentity containing the claims that
// will be used to create an id_token, a token or a code.
var identity = new ClaimsIdentity(
OpenIddictServerDefaults.AuthenticationScheme,
OpenIdConnectConstants.Claims.Name,
OpenIdConnectConstants.Claims.Role);
// Use the client_id as the subject identifier.
identity.AddClaim(OpenIdConnectConstants.Claims.Subject, application.ClientId,
OpenIdConnectConstants.Destinations.AccessToken,
OpenIdConnectConstants.Destinations.IdentityToken);
identity.AddClaim(OpenIdConnectConstants.Claims.Name, application.DisplayName,
OpenIdConnectConstants.Destinations.AccessToken,
OpenIdConnectConstants.Destinations.IdentityToken);
// Create a new authentication ticket holding the user identity.
var ticket = new AuthenticationTicket(
new ClaimsPrincipal(identity),
new AuthenticationProperties(),
OpenIddictServerDefaults.AuthenticationScheme);
ticket.SetScopes(connectRequest.GetScopes());
ticket.SetResources("resource_server");
return ticket;
}
Однако теперь я установилзначение "resource_server" в заявке, есть ли способ получить его?Т.е. я могу получить все Области в моем ClaimsPrinicpal, но я не смог найти какой-либо способ получить свойства AuthenticationProperties билета.