Я использую Swashbuckle v5.0.0 в приложении. net -core 2.1 для создания своей API-документации.
Я добавил это определение безопасности:
cfg.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme
{
Name = "oauth2",
Type = SecuritySchemeType.OAuth2,
Scheme = IdentityServerAuthenticationDefaults.AuthenticationScheme,
Extensions = new Dictionary<string, IOpenApiExtension>
{
{ "x-tokenName", new OpenApiString("token id_token") }
},
Flows = new OpenApiOAuthFlows()
{
Implicit = new OpenApiOAuthFlow()
{
Scopes = swaggerSettings.Scopes,
AuthorizationUrl = new Uri(authorizationUrl),
TokenUrl = new Uri(swaggerSettings.IdentityProviderUrl + "/connect/token"),
}
},
});
Это это API-спецификация, которая генерируется из него (только важная часть):

Она почти идеально работает, так как я могу даже открыть следующий диалог в пользовательском интерфейсе swagger, а также выполните полную авторизацию:

Но проблема в том, что значение x-tokenName установлено в " token id_token "(который требуется для получения токена доступа, содержащего также идентификационные области, как profile и openid), запрос, отправленный пользователем swagger-ui, записанный fiddler, (сокращен до важной части):
GET /usermgmt/identityprovider/connect/authorize?response_type=token&[...]
В Интернете я могу найти темы о том, что то, что я пытаюсь достичь, какое-то время поддерживалось, тогда это было не так, и я не знаю, так ли это сейчас - кажется, что нет, но я думаю, что это функция важна, поэтому она должна быть там.
Мне нужно это потому, что я хочу запрашивать группы пользователей из конечной точки профиля, используя токены доступа, созданные по запросу swagger-ui.
Пожалуйста, помогите:)