2012-02-13 59 views
0
運行

我的Java/JavaScript的Web應用程序的開發,和我哈瓦JavaScript應用程序是使用Ajax POST指令到一個servlet容器中運行我的數據庫(如維護我自己的用戶ID)進行通信在本地主機上,在vmware機器中。我希望能夠使用谷歌,雅虎和Facebook的身份驗證登錄,在這個發展的設置,但在研究Facebook的OAuth 2.0用戶的方法,它看起來像你的web應用程序必須哈瓦鏈接到Facebook網站,並提供一個重定向鏈接在身份驗證完成後返回到您自己的站點。此方法不起作用,因爲Facebook無法重定向到本地主機地址併到達我的機器,該機器沒有網絡存在。OpenID和Facebook驗證localhost上

我必須與OpenID和谷歌/雅虎驗證了同樣的問題?

安迪

回答

0

Facebook的OAuth的工作與本地主機的應用程序。這是因爲Facebook重定向瀏覽器到您在oauth提供的redirect_uri,您的瀏覽器知道在哪裏http://localhost是(我實際上在apache &窗口虛擬主機中使用虛擬主機,不知道您是否可以在您的網站URL中輸入localhost應用程序設置)。完美的作品

谷歌的Oauth然而,以我的經驗,沒有本地版本。不知怎的,該網站需要谷歌本身(而不僅僅是瀏覽器)訪問這個工作,它並沒有,所以它沒有(我不記得確切的細節,對不起)

唐' t瞭解其他人

0

你可以在本地計算機上添加DNS條目,這樣mysite.com解析到本地計算機。 通過這樣做,您將能夠從本地計算機登錄進行測試。 C:\Windows\System32\drivers\etc\hosts

添加一個新行:

在Windows中,您可以通過編輯文件做到這一點

127.0.0.1 mysite.com 

關於OpenID的,我不知道是否會從localhost網址接受登錄,但它必須在hosts文件中添加條目並具有適當的域(即使它只在您的計算機上解析)之後工作。

訣竅是,登錄後,Facebook或谷歌迴應像這樣的東西你的應用程序:將用戶重定向到mysite.com的認證。您的瀏覽器然後將解決mysite.com作爲您的機器,它是所有的工作。