Wpis z mikrobloga

Ostatnio na mirko wspominałem, że pracuje na biblioteką do pythona, umożliwiające bardzo łatwe "logowanie za pomocą wykop".

Generalnie biblioteka, z którą to integruje to python-social-auth, natomiast jeżeli używałeś jej np. z django... to wiesz, że niby fajnie spoko... wszystko działa, o ile nie życzyłbyś sobie funkcjonalności swojego serwisu wystawić za pomocą RESTowego api.

Okazuje się bowiem, że python-social-auth (wraz ze swoimi pipeline'ami) raczej został zaprojektowany w ten sposób, że użytkownik powinien raczej założyć sobie konto w twoim serwisie za pomocą statycznych stron, wymagających przeładowywowania, a nie za pomocą API - czyli czegoś co ludzie od frameworków ala #angular #react #vuejs zdecydowanie by woleli

By temu zaradzić, powstały takie biblioteki jak django-rest-framework-social-oauth2, które (jak sama nazwa wskazuje) wystawia ładne restowe api (za pomocą django-rest-framework), dla wszystkich backendów python-social-auth... warunek jest tylko jeden - muszą one bazować na OAuth2.

Kto kiedyś czytał dokumentacje API wykopu, wie dwie rzeczy:
1) że jest okropna ()
2) że logowanie nie bazuje na OAuth2 (pomimo tego, że jest podobne)

Udało mi się dzisiaj natomiast napisać drugi "backend" python-social-auth dla wykopu, który dziedziczy po BaseOAuth2... a dzięki czemu jest kompatybilny z django-rest-framework-social-oauth2 :) To taki troche backend: WykopAPIv1_FakeOAuth2 :)

Nadal nie mam gotowej wersji, ale już jestem całkiem blisko :) Kto chciałby zostać powiadomiony gdy całość będzie już gotowa, niech zostawi plusa do tego wpisu :)

#wykop #programowanie #wykopapi #nierozumiemoczympiszeszaledamplusbomadrzewyglada #programujzwykopem
noisy - Ostatnio na mirko wspominałem, że pracuje na biblioteką do pythona, umożliwia...

źródło: comment_sGCWFLXuS8WaZvnv6udj0KGlxKfoUubb.jpg

Pobierz
  • 4
  • Odpowiedz
@noisy: generalnie miałem parę zastrzeżeń do django-rest-framework-social-oauth2 – nie chciał mi zwracać zserializowanej instacji usera, miałem też problem żeby podłączać social media do zarejestrowanego już użytkownika. Do tego dochodzą też inne kwestie – takie jak to, że python social core korzysta client-side, a nie server-side. No i jeszcze jedna pierdoła – potrzebowałem linków do redirectów, bo trzeba było dołożyć parę parametrów od strony backendu, a ten domyślny nie chciał mi działać...
  • Odpowiedz