2013-05-26 41 views
4

我目前正在爲新的Firefox OS構建一個JavaScript應用程序,並且一直停留在如何通過OAuth v2實施Google Drive API。該應用程序可能是Firefox OS OAuth 2.0程序

http://localhost and urn:ietf:wg:oauth:2.0:oob 

,因此我有安裝的應用程序的設置客戶端ID以及Drive SDK的客戶端ID。由於它在應用程序中,因此我已經爲OAuth嵌入了瀏覽器(iframe),其中用戶將授予應用程序訪問權限,並且refresh_token將由應用程序保存並且用戶被重定向到應用程序。應該沒有彈出窗口,這應該包含在應用程序中。

那麼我該如何做到這一點呢?我沒有訪問本地主機的方法,哪種方法最好(例如jsclient,http請求,...),這樣做的最佳方式是什麼?

這個程序只是基於客戶端(沒有服務器端)。還有一個問題,用戶可以在我們發送給谷歌進行授權的應用程序中輸入用戶名和密碼嗎?

+0

不要在單個條目中提出模糊和多個問題。 – peter

+0

這是一個全新的操作系統,因此完全不同,所以我怎麼才能知道如何做到這一點?主要問題是如何在不訪問本地主機(默認重定向)的情況下在客戶端進行身份驗證。 – HRanDEV

回答

1

的隱格蘭特(瀏覽器只,無服務器)策略的例子見https://github.com/LDSorg/fxos-oauth2-jquery-demo

manifest.json的:

{ "name": "OAuth2 jQuery Demo" 
, "description": "Login using OAuth2/OAuth3 with jQuery" 
, "version": "1.0" 
, "type": "privileged" 
, "launch_path": "/index.html" 
, "developer": { 
    "name": "John Doe" 
    , "url": "https://johndoe.com" 
    } 
, "redirects": { 
    "from": "http://should-be-a-fake-domain.com" 
    , "to": "/oauth-close.html" 
    } 
} 

注:

必須是特權的應用程序:

"type": "privileged" 

而且重定向必須到位:

"redirects": { 
    "from": "http://use-a-fake-domain.com/my-redirect" 
, "to": "/oauth-close.html" 
} 

然後你設置你的redirect_urihttp://use-a-fake-domain.com。當然,您可以使用自己的域名 - 如果您不能將虛假域名添加到您使用的提供商的域名白名單中,則可能需要 - 我只是喜歡使用虛假域名,因爲它是一個可視化隊列我。