SpringMVCコントローラーを備えたSpringWebアプリがあります。Facebookアプリに接続して、さらにアクセスするために使用される認証トークンを取得することになっています。私たちのアプリとの通信は機能しているようです。リンクを押したとき
<a href="https://www.facebook.com/dialog/oauth?client_id=something&redirect_uri=http://our.domaine.register/postback?user_id=12345&scope=manage_pages&response_type=code">connect</a>
Facebookにリダイレクトされます。クレデンシャルを入力して、にリダイレクトされます。
our.domaine.register/postback?user_id=12345&code=SoMEcOde
これもSpringMVCコントローラーの1つですが、それは実際には問題ではありません。
問題は、Facebookから返されるコードが不正な形式のaccessTokenであるということです。
つまり、保護されたリソースにアクセスするためにそれを使用しようとすると、機能しません。同じ呼び出しをグラフAPIエクスプローラーを介して取得したアクセストークンに置き換えると、正常に機能します。
返されるコードは、通常のアクセストークンにはない、「-」、「_」、および「=」の文字を含む固有の形式になっています。
だから私は、何らかの変換を行う必要があると思いますか?!それとも、ある種のフォーマットの問題ですか?
返されたトークン:
AQBoXkcR5zRUiuHoO_lLdQfnxxxxxxxxxxxxxxxxoPPvZQTeybT9ebsI2SD1Xk
コードはaccessTokenと同じですか?
公式ドキュメントでは、ほとんどの場合、アンカーハッシュ(REDIRECT_URL /#access_token = ...)の使用とjavascriptを介したaccess_tokenへのアクセスについて説明していますが、それが自然ではなく、テストできない理由がわかりません...
誰かがコード引数を使用して、コントローラーでアクセスできるように要求パラメーターとしてマップしましたか?