Выкарыстанне прылады Уваход на Smart TV/Кансолі

Я заўважыў, што Facebook, здаецца, падтрымлівае Логинир.польз з маркерам/PIN-код замест карыстальніка/ўваходу ў сістэму, якія будуць выкарыстоўвацца на такіх прыладах, як тэлевізар або кансолі:

https://www.facebook.com/device

У пошуках старонкі Dev я магу ўбачыць там быў артыкул, звязаная з гэтым, але, па меншай меры, у Германіі, што адзін дае 404.

Кожны мае больш інфармацыі пра гэта?

дзякуй

3
FYI, ёсць праект стандарту ў сапраўдны момант для Патоку прылад OAuth 2.0 - tools.ietf.org/html/draft-denniss-oauth-device-flow
дададзена аўтар Jeff Olson, крыніца

6 адказы

Я даследаваў для гэтага таксама, але, на жаль, прылада аўтэнтыфікацыі facebook усё яшчэ знаходзіцца на эксперыментальнай і яны не даюць новых ключоў (партнёр) выкарыстоўваць аўтарызацыю прылады.

Вы можаце знайсці працоўны прыклад тут: http://oauth-device-demo.appspot.com/ Проста паглядзіце на зыходны код сайта, і вы можаце мець APPID, які працуе з ім.

The other one is twitter PIN oauth it's working and publicly available (i'm using it) https://dev.twitter.com/docs/auth/pin-based-authorization

2
дададзена

Facebook Увайсці для SmartTV/прылады без facebook SDK можна код Паўсюдна, праверце дакументацыю тут:

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

1
дададзена

Рэалізаваць Уваход для прылад

Facebook Login for Devices is for devices that directly make HTTP calls over the internet. The following are the API calls and responses your device can make.

<�Моцны> 1. Ўключыць Уваход для прылад

Change Settings > Advanced > OAuth Settings > Login from Devices to 'Yes'.

<�Моцны> 2. Сфармаваць код, які патрабуецца для facebook ідэнтыфікацыі прылады

Калі чалавек націскае Увайсці з выкарыстаннем Facebook, вас прылада павінна зрабіць HTTP POST, каб:

POST https://graph.facebook.com/oauth/device?
       type=device_code
       &client_id=
       &scope=//e.g.public_profile,user_likes

Адказ прыходзіць у такой форме:

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

Гэты адказ азначае:

  • Адлюстроўвае радок «A1NWZ9» на вашым прыладзе
  • Скажыце чалавеку, каб перайсці да «facebook.com/device» і ўвядзіце гэты код
  • <�Літый> Код мінае праз 420 секунд. Вы павінны адмяніць паток ўваходу ў сістэму пасля гэтага часу, калі вы не атрымліваеце маркер доступу
  • Прылада павінна апытваць Логинир.польз API кожныя 5 секунд, каб убачыць, калі дазвол быў паспяховым

<�Моцны> 3. Адлюстраванне кода

Ваша прылада павінна адлюстроўваць user_code і сказаць людзям, каб наведаць verification_uri такіх як facebook.com/device на іх ПК або смартфоне. Глядзіце Рэкамендацыі па праектаванню .

<�Моцны> 4. Апытанне для аўтарызацыі

Ваша прылада павінна апытваць Увайсці API прылад, каб убачыць, калі чалавек паспяхова аўтарызаваны прыкладанне. Вы павінны зрабіць гэта на інтэрвале ў адказ на ваш заклік за крок 1, які праз кожныя 5 секунд. Ваша прылада павінна апытваць на:

POST https://graph.facebook.com/oauth/device?
       type=device_token
       &client_id= 
       &code= //e.g."92a2b2e351f2b0b3503b2de251132f47"

Вы атрымаеце 200 HTTP код Карыстальнік г.зн. паспяхова аўтарызаваны прылада. Прылада можа зараз выкарыстаць значэнне access_token зрабіць праверку сапраўднасці выклікаў API.

<�Моцны> 5. Пацвярджэнне паспяховага ўваходу

Ваша прылада павінна адлюстроўваць сваё імя і, калі маецца, малюнак профілю, пакуль не будзе націснута кнопка Працягнуць. Для атрымання гэтага чалавека імя і фатаграфіі, прылада павінна зрабіць стандартны выклік Graph API:

GET https://graph.facebook.com/v2.3/me?
      fields=name,picture&
      access_token=

адказ:

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

<�Моцны> 6. Крама доступу токены

Прылада павінна захоўвацца маркер доступу, каб зрабіць іншыя запыты да API Graph.

лексемы Лагін доступу да прылады могуць быць сапраўдныя на працягу 60 дзён, але можа быць дэмабілізаваны ў шэрагу сцэнарыяў. Напрыклад, калі чалавек мяняе свой пароль на Facebook іх маркер доступу ня дзейнічае.

Калі маркер з'яўляецца несапраўдным, прылада варта выдаліць маркер са сваёй памяці. Чалавек, якое выкарыстоўвае прылада павінна выконваць Уваход паток прылады зноў з кроку 1, каб атрымаць новы, сапраўдны маркер.

1
дададзена
Сомнатй-мулук @ не з'яўляецца SDK для Логинир.польза API?
дададзена аўтар cypronmaya, крыніца

Рэалізаваць Уваход для прылад

Facebook Login for Devices is for devices that directly make HTTP calls over the internet. The following are the API calls and responses your device can make.

<�Моцны> 1. Ўключыць Уваход для прылад

Change Settings > Advanced > OAuth Settings > Login from Devices to 'Yes'.

<�Моцны> 2. Сфармаваць код, які патрабуецца для facebook ідэнтыфікацыі прылады

Калі чалавек націскае Увайсці з выкарыстаннем Facebook, вас прылада павінна зрабіць HTTP POST, каб:

POST https://graph.facebook.com/oauth/device?
       type=device_code
       &client_id=
       &scope=//e.g.public_profile,user_likes

Адказ прыходзіць у такой форме:

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

Гэты адказ азначае:

  • Адлюстроўвае радок «A1NWZ9» на вашым прыладзе
  • Скажыце чалавеку, каб перайсці да «facebook.com/device» і ўвядзіце гэты код
  • <�Літый> Код мінае праз 420 секунд. Вы павінны адмяніць паток ўваходу ў сістэму пасля гэтага часу, калі вы не атрымліваеце маркер доступу
  • Прылада павінна апытваць Логинир.польз API кожныя 5 секунд, каб убачыць, калі дазвол быў паспяховым

<�Моцны> 3. Адлюстраванне кода

Ваша прылада павінна адлюстроўваць user_code і сказаць людзям, каб наведаць verification_uri такіх як facebook.com/device на іх ПК або смартфоне. Глядзіце Рэкамендацыі па праектаванню .

<�Моцны> 4. Апытанне для аўтарызацыі

Ваша прылада павінна апытваць Увайсці API прылад, каб убачыць, калі чалавек паспяхова аўтарызаваны прыкладанне. Вы павінны зрабіць гэта на інтэрвале ў адказ на ваш заклік за крок 1, які праз кожныя 5 секунд. Ваша прылада павінна апытваць на:

POST https://graph.facebook.com/oauth/device?
       type=device_token
       &client_id= 
       &code= //e.g."92a2b2e351f2b0b3503b2de251132f47"

Вы атрымаеце 200 HTTP код Карыстальнік г.зн. паспяхова аўтарызаваны прылада. Прылада можа зараз выкарыстаць значэнне access_token зрабіць праверку сапраўднасці выклікаў API.

<�Моцны> 5. Пацвярджэнне паспяховага ўваходу

Ваша прылада павінна адлюстроўваць сваё імя і, калі маецца, малюнак профілю, пакуль не будзе націснута кнопка Працягнуць. Для атрымання гэтага чалавека імя і фатаграфіі, прылада павінна зрабіць стандартны выклік Graph API:

GET https://graph.facebook.com/v2.3/me?
      fields=name,picture&
      access_token=

адказ:

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

<�Моцны> 6. Крама доступу токены

Прылада павінна захоўвацца маркер доступу, каб зрабіць іншыя запыты да API Graph.

лексемы Лагін доступу да прылады могуць быць сапраўдныя на працягу 60 дзён, але можа быць дэмабілізаваны ў шэрагу сцэнарыяў. Напрыклад, калі чалавек мяняе свой пароль на Facebook іх маркер доступу ня дзейнічае.

Калі маркер з'яўляецца несапраўдным, прылада варта выдаліць маркер са сваёй памяці. Чалавек, якое выкарыстоўвае прылада павінна выконваць Уваход паток прылады зноў з кроку 1, каб атрымаць новы, сапраўдны маркер.

1
дададзена
Сомнатй-мулук @ не з'яўляецца SDK для Логинир.польза API?
дададзена аўтар cypronmaya, крыніца

Яны мяняюць яго зноў. На дадзены момант дакументацыі не адпавядае рэальнай сітуацыі.

Commonly all works as expected with one small difference. Login from Devices config now moves to Products -> Facebook Login.

Так што вам трэба:

  • get your App id from headline,
  • get Client Token from app Settings -> Advanced. There is also Native or desktop app? question/config. I turn it on.
  • Add product (just click on Add product and then Get started on Facebook login. Move back to your app config, click to newly added Facebook login and you'll see your Login from Devices config.
0
дададзена

Яны мяняюць яго зноў. На дадзены момант дакументацыі не адпавядае рэальнай сітуацыі.

Commonly all works as expected with one small difference. Login from Devices config now moves to Products -> Facebook Login.

Так што вам трэба:

  • get your App id from headline,
  • get Client Token from app Settings -> Advanced. There is also Native or desktop app? question/config. I turn it on.
  • Add product (just click on Add product and then Get started on Facebook login. Move back to your app config, click to newly added Facebook login and you'll see your Login from Devices config.
0
дададзена