Web api - dodanie autentykacji

0

Cześć, chciałbym dodać bardzo prostą autentykację do mojego projektu.
W bazie mam pole login (int), password(string)

w jednym z controllerów zwracam (po podaniu poprawnych danych)
token (który tworzy się w bazie, ma swój "deadline"), ale teraz chciałbym, aby ten token był wysyłany w wielu kontrolerach.
Co zrobić, aby uniknać ręcznego dodawania tokena i sprawdzania w każdym z zapytań (na poziomie kontrolera) czy token jest prawidłowy?
Kontroler autentykacji miałby metodę sprawdzającą, czy podany token zgadza się z id-usera (tu już jakaś logika, przykładowo każdy zalogowany user może korzystać z serwisu X, natomiast z serwisu Y, gdzie operuje na loginie (id) musi sie zgadzać id-usera i token)

chciałbym uniknąć takiej postaci w każdej z kontrolerów

public void DoSomething([FromHead]string token, [FromBody] SomeData data)
{
      if(! (authService.Confirmed(token, data.UserId))
         throw new SecuiryException(...)
}


mam BasicController po którym dziedziczą wszystkie inne controllery,
ale jak zrobić, żeby przy każdym zapytaniu w każdym controllerze magicznie działał mój basicController który by na starcie robił autentykację?

1

Poczytaj o token based authentication. Najbardziej popularne teraz jest JWT. Logikę sprawdzania czy token jest prawidłowy najczęsciej realizuje się w atrybutach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1