Я работаю над проектом бритвенных страниц asp.net core 3.0, и я добавил в него папку api, и она все работает.
Но я хочу аутентификацию для функций api.
Я уже использую аутентификацию / идентификацию на своем веб-сайте бритвенных страниц, и я прочитал о JWT, который, как мне кажется, может быть правильным, но возможно ли смешать существующую идентификацию / аутентификацию с JWT, используемым для APIтолько как-то?
Итак, мой API в настоящее время использует стандартный API Visual Studio из коробки: -
[Route("api/[controller]")]
[ApiController]
public class PortfoliosController : ControllerBase
{
private readonly actools19bContext _context;
public PortfoliosController(actools19bContext context)
{
_context = context;
}
и т.д ...
И я читал одобавив [Authorize] выше [Route ("api / [controller]")], используя, как я говорю, JWT, но опасаюсь, что это остановит работу стандартного веб-сайта, посвященного бритвам.
Я пытался посмотреть на Google в различныхмест, но не могу найти никого, кто сделал бы то, что мне нужно (что, возможно, не следует делать API-интерфейс для смешивания индикаторов с веб-сайтом бритвы?)
И моя стандартная аутентификация страниц бритв добавлена с использованием
services.AddAuthorization(options =>
{
options.AddPolicy("AdminOnly", policy =>
policy.RequireRole("Admin", "Administrator"));
});
services.AddAuthorization(options =>
{
options.AddPolicy("UserOnly", policy =>
policy.RequireRole("User"));
});
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.Cookie.Expiration = TimeSpan.FromHours(5);
});
и т. Д.
Кто-нибудь делал подобные вещи раньше, или я действительно должен смотреть на API как на отдельную вещь вне сайта бритвы?
C