web-dev-qa-db-fra.com

Utiliser la connexion au périphérique sur Smart TV/Console

J'ai remarqué que Facebook semble prendre en charge la connexion au périphérique avec un code/code PIN au lieu de l'utilisateur/le login à utiliser sur des périphériques tels que la télévision ou la console:

https://www.facebook.com/device

Dans la recherche de la page de dev, je peux voir qu’un article était en rapport avec cela, mais au moins en Allemagne, on donne un 404.

Quelqu'un a plus d'informations à ce sujet?

Merci

5
bl1ck1

je fais des recherches à ce sujet aussi, mais malheureusement, l’authentification de l’appareil Facebook est toujours en cours d’expérimentation et ils n’ont pas donné de nouvelles clés (partenaire) pour utiliser l’authentification de l’appareil.

Vous pouvez trouver l'exemple de travail ici: http://oauth-device-demo.appspot.com/ .__ Il suffit de regarder la source du site et vous pouvez avoir l'appID qui fonctionne avec elle.

L'autre est Twitter PIN oauth, il fonctionne et est accessible au public (je l'utilise) https://dev.Twitter.com/docs/auth/pin-based-authorization

3
imkrisna

La connexion Facebook pour smarttv/appareils sans facebook sdk est possible grâce au code, consultez la documentation ici: 

https://developers.facebook.com/docs/facebook-login/for-devices

2
Nico AD

Implémenter la connexion pour les appareils

Connexion Facebook pour appareils est destiné aux appareils qui passent directement des appels HTTP via Internet. Voici les appels à l'API et les réponses que votre appareil peut générer.

1. Activer la connexion pour les périphériques

Modifiez les paramètres> Avancé> Paramètres OAuth> Connexion à partir de périphériques sur "Oui".

2. Générer un code nécessaire pour l'identification de l'appareil facebook

Lorsque la personne clique sur Connexion avec Facebook, votre appareil doit créer un HTTP POST pour:

POST https://graph.facebook.com/oauth/device?
       type=device_code
       &amp;client_id=<YOUR_APP_ID>
       &amp;scope=<COMMA_SEPARATED_PERMISSION_NAMES> // e.g.public_profile,user_likes

La réponse se présente sous cette forme:

{
  "code": "92a2b2e351f2b0b3503b2de251132f47",
  "user_code": "A1NWZ9",
  "verification_uri": "https://www.facebook.com/device",
  "expires_in": 420,
  "interval": 5
}

Cette réponse signifie:

  • Affichez la chaîne «A1NWZ9» sur votre appareil.
  • Dites à la personne d'aller à «facebook.com/device» et entrez ce code
  • Le code expire dans 420 secondes. Vous devez annuler le flux de connexion après cette heure si vous ne recevez pas de jeton d'accès.
  • Votre appareil doit interroger l'API de connexion de périphérique toutes les 5 secondes pour voir si l'autorisation a été réussie.

3. Afficher le code

Votre appareil doit afficher le code utilisateur et indiquer aux utilisateurs de se rendre sur le compte verification_uri, par exemple facebook.com/device, sur leur ordinateur ou leur smartphone. Voir les Directives de conception .

4. Sondage pour autorisation

Votre appareil doit interroger l'API de connexion de l'appareil pour voir si la personne a correctement autorisé votre application. Vous devez le faire à l’intervalle indiqué dans la réponse à votre appel à l’étape 1, toutes les 5 secondes. Votre appareil doit interroger:

POST https://graph.facebook.com/oauth/device?
       type=device_token
       &amp;client_id=<YOUR_APP_ID> 
       &amp;code=<LONG_CODE_FROM_STEP_1> //e.g."92a2b2e351f2b0b3503b2de251132f47"

Vous obtiendrez 200 codes HTTP, c.-à-d. Que l'utilisateur a autorisé le périphérique. Le périphérique peut maintenant utiliser la valeur access_token pour effectuer des appels d'API authentifiés.

5. Confirmer la connexion réussie

Votre appareil doit afficher son nom et, le cas échéant, une photo de profil jusqu'à ce qu'il clique sur Continuer. Pour obtenir le nom et la photo de profil de la personne, votre appareil doit effectuer un appel standard avec l'API Graph:

GET https://graph.facebook.com/v2.3/me?
      fields=name,picture&amp;
      access_token=<USER_ACCESS_TOKEN>

Réponse:

{
  "name": "John Doe", 
  "picture": {
    "data": {
      "is_silhouette": false, 
      "url": "https://fbcdn.akamaihd.net/hmac...ile.jpg"
    }
  }, 
  "id": "2023462875238472"
}

6. Stocker les jetons d'accès

Votre appareil doit conserver le jeton d'accès pour effectuer d'autres demandes à l'API Graph.

Les jetons d'accès à la connexion au périphérique peuvent être valides jusqu'à 60 jours mais peuvent être invalidés dans un certain nombre de scénarios. Par exemple, lorsqu'une personne modifie son mot de passe Facebook, son jeton d'accès est invalidé.

Si le jeton n'est pas valide, votre appareil doit le supprimer de sa mémoire. La personne utilisant votre appareil doit effectuer à nouveau le flux de connexion d’appareil à partir de l’étape 1 pour récupérer un nouveau jeton valide.

2
Somnath Muluk

Ils le changent encore. Pour le moment documentation ne correspond pas à la situation actuelle.

Généralement, tout fonctionne comme prévu avec une petite différence. Login from Devices config passe maintenant à Products -> Facebook Login.

Donc vous devez:

  • obtenir votre App id à partir du titre,
  • obtenir Client Token depuis l'application Settings -> Advanced. Il y a aussi Native or desktop app? question/config. Je l'allume.
  • Ajouter un produit (il suffit de cliquer sur Add product puis sur Get started sur Facebook login. Revenez dans la configuration de votre application, cliquez sur Facebook login nouvellement ajouté et vous verrez apparaître votre Login from Devices config.
0
Mykytak