22

Badam najlepsze podejście do implementacji uwierzytelniania facebook, twitter i email/hasło dla aplikacji Jails 4.1, która używa rails-api. Aplikacja rails nie ma żadnych widoków i po prostu obsługuje JSON pomiędzy aplikacjami natywnymi z Androidem i iPhone'a (używają one jonowej struktury, która jest aplikacją kątową skompilowaną w natywną aplikację).Szyny JSON API oauth authentication

W przeszłości I zostały wdrożone uwierzytelniania podstawowego gdzie auth_token jest przekazywany w nagłówkach od klientów aplikacje na API Rails bez problemu przy użyciu szyn wbudowanych w auth, ale od tego czasu muszę integrację z Facebook i Twitter I szukam rozwiązania, które wykorzystuje oauth.

Zajrzałem do opracowania, ale wydaje się, że nie ładnie gra z czystym api JSON. Podobnie, omniauth zdaje się polegać na przekierowaniach z widoków &. Dodatkowo, opro i odźwierny wydają się świetni, ponieważ są twoimi własnymi dostawcami oauth, ale nie widzę jak radzą sobie z takimi stronami jak Facebook i Twitter.

W jaki sposób ludzie wdrażają uwierzytelnianie protokołu Oauth dla wielu dostawców dla aplikacji JSON API w szynach?

+2

Chciałabym móc dać ci więcej niż 1 losowanie :). To jest * dokładnie * problem, który również mam. Wszyscy mówią o uwierzytelnianiu tokena, ale nikt nie mówi o tym, jak przeprowadzić uwierzytelnianie przez inną firmę. Moje obecne rozwiązanie polegało na tym, że klient przekierowywał mnie do mojego API, dbałem o uwierzytelnianie w OmniAuth, przechowywanie tokenu uwierzytelniającego w pliku cookie, a następnie przekierowanie z powrotem do klienta. Ale to działa, ponieważ jedynym klientem, który mam, jest przeglądarka i zdałem sobie sprawę, że chcę, aby była bardziej ogólna. Przepraszamy, tak naprawdę nie pomogło :) –

+0

@John hej, w jaki sposób zakończyłeś wdrażanie uwierzytelniania na końcu? –

+1

@PaulFitzgerald open sourced it https://github.com/johnkelly/heavenly. Zasadniczo uwierzytelnienie facebook, które staje się uwierzytelnieniem tokena po uwierzytelnieniu. – John

Odpowiedz

3

Zrobiłem bardzo podobny JSON Api używając warczenia. Uwierzytelnianie wykorzystywało niestandardowe klasy usług do uwierzytelniania przeciwko google, facebook, twitter. Klasa usług dla Facebooka potrzebowała facebooka tokan i użyła Koala gem, aby pobrać informacje z Facebooka i wypełnić tożsamość społeczną. W razie potrzeby utworzył nowego użytkownika lub powiązał tożsamość społeczną z istniejącym użytkownikiem z tym samym UID lub adresem e-mail.

W ten sposób uzyskaliśmy niestandardowe precyzyjne sterowanie w całym procesie uwierzytelniania.

Wykorzystaliśmy także swagger do dokumentowania interfejsu API i zapewnienia łatwego do przetestowania interfejsu.

4

Zobacz blog this. Tutaj autor wyjaśnił, aby zaimplementować google oauth2 w Androidzie z obsługą backendu z kilkoma ładnymi diagramami. Mam nadzieję, że to pomoże.