Создать токен на предъявителя в Swagger UI - PullRequest
1 голос
/ 09 мая 2019

У нас есть база проектов ASP.NET WebApi на .NET Core 2.2, и мы используем токен-носитель через открытый идентификатор для аутентификации.

На самом деле я могу создать токен только с помощью почтальона, где я могу определить тело x-www-form-urlencoded, содержащее такие свойства авторизации, как имя пользователя и пароль.

Я уже добавил определение безопасности для опции swaggergen в классе запуска:

options.AddSecurityDefinition("Bearer", 
                        new ApiKeyScheme()
                            {
                                In = "header",
                                Description = "Please insert Bearer JWT token into field. Example: 'Bearer {token}'",
                                Name = "Authorization",
                                Type = "apiKey"
                            });

Но мне все еще нужно создать токен на предъявителя через почтальона. Как я могу создать его через интерфейс Swagger?

Я пробовал это, но это не работает:

options.AddSecurityDefinition("OpenID Connect", new OAuth2Scheme
                                                                    {
                                                                        Type = "oauth2",
                                                                        Flow = "implicit",
                                                                        AuthorizationUrl = "/connect/authorize"
                    });

...

options.EnableAuthorizationEndpoint("/connect/authorize")
                            .AllowImplicitFlow()

1 Ответ

0 голосов
/ 09 мая 2019

Вы можете реализовать пользовательскую авторизацию swagger для ввода необходимых полей, чтобы получить токен на предъявителя и сохранить его. Вы можете взглянуть на что-то вроде этого: http://www.geekswithblogs.net/michelotti/archive/2015/06/26/customize-authentication-header-in-swaggerui-using-swashbuckle.aspx.

Если вы хотите создать его с помощью swagger, добавьте в решение пользовательскую конечную точку, которая будет работать только в среде разработчика, если она предназначена для этого.

...