Forum Discussion

galfven's avatar
galfven
New Contributor
2 years ago
Solved

Need to send header with Basic Auth

Hello ladies and gentlemen!
I'm new to Swagger when it comes to implementing it for my own api:s.
Today I have gone from being a complete fool to just being dumb. 🙂
I managed to make the "Try it out" button actually appear. It took me about two hours to finally find information on why it was not visible in my project.
Then I managed to also make the Authorize button to show up. And I can select the authorization method and input my user id and password.
But. (there's always a but right?)
It does not seem as if the Basic Auth is sent in the header. I have tried every single suggestion I have found after Googling and consulting ChatGPT. Nothing seems to get me any closer to a solution.
It's so easy to use Postman to send the queries to the same api, but with Swagger I have unfortunately hit the wall too many times, so I consult you guys. The crème de la crème of Swaggerians... what am I missing?

I have this in my Startup.cs - did I mention that this is an ASP.Net Core 3.1 Web Api? And that I'm using the latest stable versions of everything that has to do with Swagger.

options.AddSecurityDefinition("Basic", new OpenApiSecurityScheme
{
   Type = SecuritySchemeType.Http,
   Scheme = "basic",
   In = ParameterLocation.Header,
   Name = "Authorization",
   Description = "Basic Authorization header."

});
options.OperationFilter<SecurityRequirementsOperationFilter>();


Where on earth I got that piece of probably old code? From ChatGPT. Not to be trusted. I know.

By the way, I must mention that I don't know the first thing about which label to choose for this post.
I'll go with Swagger Core and Swagger UI, but maybe both are wrong. Sorry about that.

I guess you need more information - just tell me, and I'll provide all details needed.


Best regards,
George




  • In case someone hits the wall as hard as I did:
    This did the trick for me:

    Type = ReferenceType.SecurityScheme,

1 Reply

  • galfven's avatar
    galfven
    New Contributor

    In case someone hits the wall as hard as I did:
    This did the trick for me:

    Type = ReferenceType.SecurityScheme,