Obecnie piszę API odpoczynku w pythonie z kolbą microframework. To prywatne API i zajmuje się danymi użytkownika. Mam zamiar korzystać z tego interfejsu API do tworzenia stron internetowych i aplikacji na Androida.Poszukuję porady, aby zabezpieczyć prywatne API REST napisane w python-flasku
Na razie używam digest auth, aby zabezpieczyć prywatne dane użytkownika. Na przykład, jeśli chcesz opublikować dane w mojej usłudze za pomocą boba użytkownika, wysyłasz prośbę o wpis na myapi/story/create i podaj poświadczenia boba za pomocą wzorca digest.
Jestem świadomy nie jest to dobre rozwiązanie, ponieważ:
Lista -digest auth nie jest bezpieczna
-The klient nie jest uwierzytelniony (? Jak zabezpieczyć żądań nie związanych z bieżącego użytkownika, na przykład tworzenie nowego użytkownika)
Przeczytałem wiele rzeczy na temat oAuth, ale uwierzytelnienie na trzech nogach wydaje się przesadzone, ponieważ nie planuję otwierania mojego API na stronę trzecią.
Dwuetapowa autoryzacja oAuth nie będzie pasować, ponieważ zapewnia tylko uwierzytelnianie klientom, a nie użytkownikom.
Kolejnym problemem związanym z oAuth jest to, że nie znalazłem wyczerpującego przewodnika do implementacji go w Pythonie. Znalazłem bibliotekę python-oauth2, ale nie rozumiem przykładu serwera i nie mogę znaleźć dodatkowej dokumentacji. Poza tym wydaje się, że wiele aspektów OAuth nie jest opisanych w tym przykładzie.
Więc moje pytania to:
- Czy istnieje alternatywny system (nie OAuth) dla authenticate klient i użytkownik z rozsądnym poziomem bezpieczeństwa?
- Jeśli oAuth jest najlepszym rozwiązaniem:
- Jak pominąć proces autoryzacji (ponieważ użytkownicy nie będą musieli autoryzować klientów zewnętrznych)?
- Czy istnieje szczegółowa dokumentacja dla Pythona-oauth2 lub jakiejkolwiek innej biblioteki Pythona?
Każda pomoc lub porada zostanie doceniona.
W odniesieniu do jednego ze swoich problemów, duża część z głównych stron internetowych nie pozwala rejestrować się przez klienta itp, oni sprawić, że zarejestrujesz się za pośrednictwem ich strony internetowej. W przypadku tych witryn, które to umożliwiają, ich wywołanie API jest faktycznie tym samym, co ich formularz rejestracji, więc nie ma znaczenia, czy jest bezpieczne, czy nie. –