2013-10-31 21 views
4

我目前正在使用java實現已安裝的桌面應用程序。我打算將Google Calendar API集成到應用程序中。如何處理谷歌日曆API授權中的urn:ietf:wg:oauth:2.0:oob重定向

在授權程序中,我來到了這個階段,我只能通過觸發顯示用戶許可頁面的瀏覽器來獲得授權碼。用戶然後必須點擊「接受」並且將被重定向到授權代碼所呈現的網頁。用戶需要將此代碼複製到Eclipse System.in中,以便授權過程繼續(交換TokenResponse的授權代碼)。

我的問題是,我該如何簡化這個過程,以便用戶不必爲了接收授權碼而做這種愚蠢的複製和粘貼東西? (無論如何,如果項目被編譯成jar文件,這將無法工作......)目前我所知道的是,我需要提供一個callbackurl或其他東西,我只是無法弄清楚這一點。因此,我希望得到更具體的答案,而不是簡單地告訴我這些概念。

在此先感謝。

回答

1

oauth2授權授權流程(我認爲,這就是您正在做的)定義您的應用程序通過HTTP重定向獲取流量。

是這樣的:

  1. 你的應用程序打開一個套接字和HTTP請求
  2. 現在打開瀏覽器,並讓用戶輸入他/她的憑據聽有
  3. 用戶點擊提交,並將憑證發送到oauth服務器
  4. 服務器檢查憑證,如果正確,則將瀏覽器重定向到您的應用程序(到您在1中打開的套接字)。
  5. 您的appl它從瀏覽器獲取驗證碼並與訪問權證交換。

讓服務器知道在哪裏重定向到,您使用OAuth參數redirect_uri在步驟2中

+0

我懷疑操作系統沒有運行服務器,並且正在使用'urn:oauth2 ...'redirect_uri –

2

你必須以跳過使用服務帳戶(帶有一個私鑰)涉及用戶交互的步驟。有關於這個here的詳細指南。