2012-01-05 27 views
0

我有一個黑莓基於java的應用程序,與Salesforce數據的工作和使用OAuth 2進行身份驗證。直到最近,用戶一直抱怨說,一旦他們進入接受/拒絕salesforce oauth頁面,點擊接受按鈕將顯示一個salesforce 404頁面,它一直工作正常。BrowserField2 - 銷售人員的oauth2未能在接受/拒絕階段

我在bb模擬器(OS7)上附加了一個調試器,並發現一切正常,一直到在salesforce oauth2用戶的身份驗證/授權的最後階段按下ACCEPT按鈕時向salesforce發出POST代理流程。此時,該帖子將會成功,並且響應主體將包含一些帶有JavaScript塊的標記,該塊只執行document.location.href分配,以強制瀏覽器導航到新的URL。我注意到URL並不是我期望的 - 我期待看到redirect_uri回調地址+訪問令牌等數據附加到它的末尾(根據sf oauth2文檔)。我所看到的是一個URL,當瀏覽時導致用戶回到登錄頁面,並顯示一條消息,說明他們正在嘗試訪問需要身份驗證的資源。

如果我執行相同的流程中說Chrome瀏覽器中的網址之後,該帖子是我所期望的。這一切都曾經工作得很好,所以我很困惑,爲什麼它會突然停止工作。我聽說Salesforce在2011年底稍微改變了他們的oauth 2實施方式,所以我想知道這是否破壞了我的客戶,儘管我沒看到如何。

作爲一個實驗,我刪除了除嵌入式BrowserField之外的所有代碼,並使其導航到通過按照文檔組合使用者密鑰和各種其他值構建的oauth URL,並且仍然失敗,404頁面點擊成功登錄後的接受按鈕。

如果我嘗試在同一引導OAuth的URL內置在瀏覽器中的BB全認證流程正常工作,我最後重定向到最終的回調URL與附加訪問令牌信息。

有其他人在那裏曾與的oauth2用戶代理麻煩的BrowserField流(從場2包)?

回答

1

您是否嘗試過用「scope =移動」參數?這個參數讓你進入一個非常簡化的oauth流程,這個流程已經針對黑莓進行了優化...我們發現他們通常無法通過爲iOS/Android設計的更豐富的流程。也就是說,我沒有聽說他們在BB7上有問題......只有5和有時是6系列

如果失敗了,您能否與我們開一個支持案例?

+0

謝謝,我給一個嘗試。 – AndyMoose 2012-01-06 03:07:47

1

請嘗試「display=mobile」和「scope=api web」(帶空格),具體取決於您在OAuth之後嘗試訪問的內容。