Как смешать Oauth2 с JwtBearer в Swagger 5 и Asp Core 3? - PullRequest
0 голосов
/ 12 февраля 2020

Вот мой код, добавляющий сваггер в набор сервисов asp core:

services.AddSwaggerGen(options =>
            {
                var xmlDocPath = Path.Combine(AppContext.BaseDirectory, "Api.xml");

                options.IncludeXmlComments(xmlDocPath, true);


                options.SwaggerDoc("v1", new OpenApiInfo {Version = "v1", Title = "Api V1 Docs"});


                options.AddSecurityDefinition("oauth2", new OpenApiSecurityScheme
                {
                    Type = SecuritySchemeType.OAuth2,
                    BearerFormat = "Bearer {Token}",
                    Name = "oauth2",
                    Scheme = "bearer",
                    In = ParameterLocation.Header,
                    Flows = new OpenApiOAuthFlows
                    {
                        Password = new OpenApiOAuthFlow
                        {
                            TokenUrl = new Uri("https://localhost:44362/api/Users/GenerateToken", UriKind.Absolute),
                        }
                    }                    
                });

                options.AddSecurityRequirement(new OpenApiSecurityRequirement
                {
                    {
                        new OpenApiSecurityScheme
                        {
                            Reference = new OpenApiReference {Type = ReferenceType.SecurityScheme, Id = "oauth2"},
                        },
                        new string[] { }
                    } 
                });
             });

Когда я нажимаю на кнопку авторизации в сваггере и заполняю учетные данные (имя пользователя и пароль), он авторизуется, но когда Я отправляю запрос на сервер, чтобы токен-носитель в заголовке был «неопределен»:

enter image description here

enter image description here

enter image description here

В чем проблема? что мне делать?

...