Facebook の Graph API 2.0 のアップグレードと ACS
更新日: 2015 年 7 月 17 日
2015 年 4 月 30 日、すべての Facebook 対応アプリケーションが Facebook の Graph API v2.0 に自動的にアップグレードされます。 ACS 名前空間で Facebook を ID プロバイダーとして使用する場合は、ダウンタイムを回避するために、ACS の Facebook ID プロバイダーの構成、アプリケーションのコード変更、またはその両方を変更する必要がある場合があります。Facebookのプランの詳細については、 Facebookプラットフォームアップグレードガイドを参照してください。
バックグラウンド
ACS では、次の Facebook エンドポイント 、https://www.facebook.com/dialog/oauthhttps://graph.facebook.com/oauth/access\_tokenおよび https://www.facebook.com/logout.phphttps://graph.facebook.com/me. Facebook は、2015 年 4 月 30 日に v2.0 の使用を要求する "バージョンレス" Graph API要求を自動的にアップグレードします。
ACS の ID プロバイダーとして Facebook を追加すると、(既定で) アプリケーションのアクセス許可として "email" が設定されます。 Facebook の ID プロバイダーの構成でアプリケーションのアクセス許可を選択しなかった場合 (空のフィールド) または既定値 ("email") を選択した場合は、アプリケーションまたは構成を変更する必要はありません。 他のアプリケーション アクセス許可を選択した場合は、このトピックをよく読んで、影響を評価し、適切な手順を実行する必要があります。
影響の評価
Facebook によって行われた以下の変更について検討する必要があります。
アクセス許可
Facebook のすべての要求に暗黙で含まれる "basic_info" アクセス許可は、やはり暗黙である "public_profile" アクセス許可に置き換えられます。 2 つのアクセス許可セットは、後者では友人のリストが異なるアクセス許可 "user_friends" の一部であることを除き、同一です。 "basic_info" アクセス許可と同等の機能を取得するには、"user_friends" アクセス許可を明示的に要求する必要があります。
"friends" ベースのアクセス許可は大幅に変更されています。 Facebookプラットフォームアップグレードガイドでは、それらを詳しく説明しています。
Facebook では、 ログイン レビュー プロセスを実行するために、"basic_profile"、"電子メール"、"user_friends" 以外の追加のアクセス許可を要求するアプリケーションが必要です。
拒否されるアクセス許可
Facebook では、ユーザーがアプリケーションに許可するアクセス許可を選択でき、拒否するアクセス許可を選択することもできます。 アプリケーションはこれらのユース ケースを処理する必要があります。
ユーザーは、"public_profile" アクセス許可を拒否できません。
ユーザーが "email" アクセス許可を拒否した場合、ACS はアプリケーションに戻すトークンで "email" 要求を渡しません。
アプリケーション スコープのユーザー ID
「名前識別子」要求として ACS トークンで送信されるユーザー ID は、グローバル スコープの ID (複数の Facebook アプリケーションで同じユーザー ID) からアプリケーション スコープの ID (Facebook アプリケーションごとに異なるユーザー ID) になります。
これは、アプリケーションに新しくサインインする Facebook ユーザーに対してのみ適用されます。 これは、既にアプリケーションにサインインしているユーザーに対する下位互換性です。
アプリケーションがグローバルスコープのユーザー ID に依存してさまざまな Facebook アプリケーション登録間でユーザーを関連付ける場合は、調整を行い、Facebook の Business Mapping API を 使用して同じ操作を行う必要があります。
推奨事項
Facebook 対応の ACS アプリケーションに影響があることがわかった場合の推奨事項の一部を次に示します。 ユーザーによっては該当しないものもあります。 完全な一覧については、 Facebook プラットフォーム アップグレード ガイド を参照してください。
非推奨とされたアプリケーション アクセス許可に依存していないことを確認します。
Facebook のログインレビューに対する拡張アプリケーションのアクセス許可を送信します。 または、"basic_profile"、"email"、"user_friends" アプリケーション アクセス許可だけを使用するように、アプリケーションを縮小することもできます。
拒否されたアクセス許可を処理するようにアプリケーションのロジックを更新します。
複数の Facebook アプリケーション登録の間でユーザーを関連付ける必要がある場合は、アプリケーション スコープのユーザー ID を処理するようにアプリケーションのロジックを更新します。 これを行うには、Facebook の Business Mapping API を使用します。