I've managed create a basic WebAPI but I don't know how to secure it using oauth2
Find an OAuth provider then read the documentation for that provider.
Facebook, Google, and external provider authentication in ASP.NET Core
Google external login setup in ASP.NET Core
Facebook external login setup in ASP.NET Core
Microsoft Account external login setup with ASP.NET Core