Facebookは、トークン/ PIN TVやコンソールなどのデバイスで使用されるユーザー/ログインの代わりにコードを使用したデバイスログインをサポートしているようです:
https://www.facebook.com/device
開発ページの検索では、これに関連する記事がありましたが、少なくともドイツでは404が表示されます。
誰もこれについての情報を持っていますか?
ありがとう
私もそのために研究していますが、残念ながら、facebookデバイス認証はまだ実験的であり、デバイス認証を使用するための新しいキー(パートナー)を提供しませんでした。
作業例はここにあります: http://oauth-device-demo.appspot.com/ Webサイトのソースを見るだけで、それで動作するappIDを取得できます。
もう1つはTwitterです。PIN oauthそれは動作しており、公開されています(私は使用しています) https://dev.Twitter.com/docs/auth/pin-based-authorization
Facebook sdkを使用せずにsmarttv/devicesにFacebookでログインするには、コードを使用してください。こちらのドキュメントを確認してください。
https://developers.facebook.com/docs/facebook-login/for-devices
デバイスのFacebookログイン は、インターネット経由でHTTP呼び出しを直接行うデバイス用です。以下は、デバイスが行うことができるAPI呼び出しと応答です。
1。デバイスのログインを有効にする
[設定]> [詳細]> OAuth [設定]> [デバイスからログイン]を[はい]に変更します。
2。 facebookデバイスの識別に必要なコードを生成します
ユーザーが[Facebookでログイン]をクリックすると、デバイスはHTTP POST=
POST https://graph.facebook.com/oauth/device?
type=device_code
&client_id=<YOUR_APP_ID>
&scope=<COMMA_SEPARATED_PERMISSION_NAMES> // e.g.public_profile,user_likes
応答は次の形式で提供されます。
{
"code": "92a2b2e351f2b0b3503b2de251132f47",
"user_code": "A1NWZ9",
"verification_uri": "https://www.facebook.com/device",
"expires_in": 420,
"interval": 5
}
この応答は次のことを意味します。
3。コードを表示する
デバイスはuser_codeを表示し、facebook.com/deviceなどの自分のPCまたはスマートフォンでverify_uriにアクセスするようにユーザーに指示する必要があります。 設計ガイドライン を参照してください。
4。承認のポーリング
デバイスは、デバイスログインAPIをポーリングして、ユーザーがアプリケーションを正常に承認したかどうかを確認する必要があります。これは、ステップ1の呼び出しへの応答の間隔(5秒ごと)で行う必要があります。デバイスは次のものにポーリングする必要があります。
POST https://graph.facebook.com/oauth/device?
type=device_token
&client_id=<YOUR_APP_ID>
&code=<LONG_CODE_FROM_STEP_1> //e.g."92a2b2e351f2b0b3503b2de251132f47"
200のHTTPコードを取得します。つまり、ユーザーはデバイスを正常に承認しました。これで、デバイスはaccess_token値を使用して認証済みAPI呼び出しを行うことができます。
5。ログイン成功の確認
デバイスには、[続行]をクリックするまで、名前と利用可能な場合はプロフィール画像が表示されます。ユーザーの名前とプロフィール写真を取得するには、デバイスで標準のGraph API呼び出しを行う必要があります。
GET https://graph.facebook.com/v2.3/me?
fields=name,picture&
access_token=<USER_ACCESS_TOKEN>
応答:
{
"name": "John Doe",
"picture": {
"data": {
"is_silhouette": false,
"url": "https://fbcdn.akamaihd.net/hmac...ile.jpg"
}
},
"id": "2023462875238472"
}
6。ストアトークン
デバイスはアクセストークンを永続化して、Graph APIに他のリクエストを行う必要があります。
デバイスログインアクセストークンは最大60日間有効ですが、多くのシナリオで無効になる場合があります。たとえば、Facebookのパスワードを変更すると、アクセストークンは無効になります。
トークンが無効な場合、デバイスはメモリからトークンを削除する必要があります。デバイスを使用するユーザーは、新しい有効なトークンを取得するために、手順1からデバイスログインフローを再度実行する必要があります。
彼らは再びそれを変更します。現時点では ドキュメント は実際の状況に適合していません。
通常、すべてが期待どおりに機能しますが、1つの小さな違いがあります。 Login from Devices
configはProducts -> Facebook Login
に移動しました。
だからあなたはする必要があります:
App id
を見出しから取得し、Client Token
からSettings -> Advanced
を取得します。 Native or desktop app?
question/configもあります。オンにします。Add product
をクリックし、Get started
でFacebook login
をクリックします。アプリの設定に戻り、新しく追加されたFacebook login
をクリックすると、Login from Devices
構成。