私は、Salesforceデータを処理し、認証にoauth2を使用するBlackBerryJavaベースのアプリを持っています。ユーザーがsalesforceoauthページの承認/拒否にアクセスしたら、[承認]ボタンをクリックするとsalesforce 404ページが表示されるという苦情が寄せられるまで、問題なく機能していました。
デバッガーをbbシミュレーター(OS7)に接続したところ、salesforce oauth2ユーザーエージェントフローを介した認証/承認の最終段階でACCEPTボタンを押すと、salesforceにPOSTが行われるまですべてが正常に機能していることがわかりました。この時点で、投稿は成功し、応答本文には、document.location.href割り当てを実行するだけの小さなJavaScriptブロックを含むマークアップが含まれ、ブラウザーに新しいURLに移動するように強制します。URLが期待したものではないことに気づきました-redirect_uriコールバックアドレス+アクセストークンなどのデータがその末尾に追加されていることを期待していました(sf oauth2のドキュメントによる)。
たとえばクロームで同じフローを実行すると、投稿後のURLが期待どおりになります。これはすべてうまく機能していたので、なぜ突然機能しなくなるのか混乱しています。Salesforceが2011年後半にoauth2の実装を少し変更したと聞いたので、方法はわかりませんが、これによってクライアントが壊れたのではないかと思います。
実験として、埋め込まれたBrowserFieldを除くすべてのコードを削除し、ドキュメントに従ってコンシューマーキーと他のさまざまな値を組み合わせて構築されたoauth URLに移動しましたが、クリックした時点で404ページで失敗しますログインに成功した後の承認ボタン。
組み込みのbbブラウザで同じブートストラップoauthURLを試してみると、完全な認証フローが正常に機能し、最終的にアクセストークン情報が追加された最終的なコールバックURLにリダイレクトされます。
BrowserField(field2パッケージから)でのoauth2ユーザーエージェントフローに問題があった人は他にいますか?