2011-07-16 13 views
5

Podczas pracy z uwierzytelnianiem facebook w trybie po stronie serwera po stronie klienta przy pomocy OAuth2, czy istnieje sposób na przetestowanie go podczas pracy z lokalnymi środowiskami programistycznymi dla przekierowujących adresów URL?Praca z uwierzytelnianiem z Facebooka w środowisku programistycznym

Oczywiście można określić adres IP i port 80 trasy na tym IP na komputerze, ale czy istnieje prostszy sposób, aby to osiągnąć?

Odpowiedz

7

nie powinieneś mieć problemów z rozwijaniem aplikacji na Facebooku.
Po prostu ustaw adres URL strony ustawień facebooka na http://localhost/yourapp/ i działaj jak zwykle.
Wszystkie procedury OAuth powinny działać normalnie.

+0

dzięki za odpowiedź - ale czy tak? przekazujesz facebookowi automatyczny URL, który wywołuje, w jaki sposób facebook może zadzwonić do lokalnego hosta? – Raiders

+0

Facebook nie "wywołuje" twoich plików URI, przekierowuje do nich przeglądarkę, a twoja przeglądarka nie zna twojego hosta lokalnego. istnieje tylko kilka miejsc na facebooku "zadzwoń" do twoich uri na Facebooku, na api itp. w miejscach, gdzie musisz przekierować zewnętrzny adres IP na twój komputer lokalny, aby pracować z tymi API – lnetanel

0

Z mojego doświadczenia wynika, że ​​można korzystać z tej samej aplikacji Facebook dla deweloperów, testowania, testowania, produkcji itp. Kluczem (aluzja do niej jest lnetanel) jest to, że aplikacja powinna mieć odrębny URL powrotu skonfigurowany dla każdego środowiska . Na przykład, używam opracować + omniauth i mieć następujące w .../config/inicjalizatory/omnniauth.rb, który jest używany do konstruowania adresów powrotu:

if Rails.env.production? 
    OmniAuth.config.full_host = "https://www.mydomain.com" 
elsif Rails.env.test? 
    OmniAuth.config.full_host = "https://www.stag.mydomain.com" 
elsif Rails.env.development? 
    OmniAuth.config.full_host = "https://localhost.mydomain.com" 
end 

Uwaga, mam zwyczaj dodawania localhost .mydomain.com w moim lokalnym pliku/etc/hosts, więc nie ma problemów z cross-domain'em podczas programowania, choć prawdopodobnie nie ma to znaczenia tutaj.

Powiązane problemy