Изменилось ли поведение аутентификации Facebook для приложений Магазина Windows?

Недавно я заметил некоторые изменения в поведении аутентификации Facebook: при аутентификации через Windows.Security.Authentication.Web.WebAuthenticationBroker я теперь получаю недолговечный токен из Facebook в свое приложение вместо долгоживущего токена, который я получил раньше.

Я вижу это поведение как при входе в систему напрямую, так и при использовании единого входа (http://facebooksdk.net/docs/windows/sso/).

При отладке токена Facebook указывает, что источник запроса на вход исходит из Интернета. Соответственно, Facebook возвращает токены с коротким сроком жизни.

Обменять недолговечный токен на долгоживущий токен довольно легко, и я смог это сделать (http://facebooksdk.net/docs/web/handling-expired-access-tokens/). Однако для этого требуется, чтобы я передал секретный идентификатор приложения, что я бы предпочел не из приложения.

Кто-нибудь может подтвердить, что Facebook сделал такое изменение? И бонусный вопрос ;-): есть ли способ получить долгоживущие токены из приложений Магазина Windows без передачи секрета приложения?

Спасибо, Андреас

--Обновление от 11 апреля:

Возможно, я наткнулся на объяснение того, почему и когда было введено это изменение: WebAuthenticationBroker теперь включает некоторые методы, обеспечивающие автоматическую аутентификацию; Я предполагаю, что это произошло, когда Microsoft представила Windows 8.1 Update 1 на прошлой неделе. Вместе с тихой аутентификацией SSO должно помочь, но мне все еще нужно проверить...


person Andreas Mikk    schedule 10.04.2014    source источник
comment
Просто хочу спросить, почему именно вы хотите продлить токен?   -  person Sahil Mittal    schedule 10.04.2014
comment
Потому что это не очень удобно для пользователя, когда пользователю приходится повторять один и тот же шаг входа/авторизации каждый день.   -  person Andreas Mikk    schedule 11.04.2014
comment
Какие действия вы выполняете в своем приложении, используя api facebook graph?   -  person Sahil Mittal    schedule 11.04.2014
comment
Никто. Я просто получаю элементы из потока Facebook пользователя через FQL.   -  person Andreas Mikk    schedule 11.04.2014
comment
Но ради обсуждения можно смело предположить, что приложение действует как клиент Facebook для Win 8. Честно говоря, я не знаю ни одного клиента Facebook, который требует от пользователей повторной аутентификации через 1 час. А если бы и были, я бы их не использовал ;-)   -  person Andreas Mikk    schedule 11.04.2014


Ответы (1)


Я не использовал эту библиотеку, но мне кажется невозможным, что вы смогли получить из нее долгоживущий токен; поскольку нет другого способа получить расширенный токен без использования app-secret.

Если у вас настроен сервер, вы можете создать для него небольшой API и получить расширенный токен со своего сервера.

person Sahil Mittal    schedule 11.04.2014
comment
Да, получение короткоживущих токенов как-то согласуется с описанием как SDK, так и WebAuthenticationBroker. Еще до недавнего времени общее поведение было другим. Поэтому я хотел знать, стало ли больше людей свидетелями этого изменения. В лучшем случае я мог бы более четко выяснить, где произошло изменение (на стороне Facebook или на стороне Microsoft) и, возможно, какие альтернативные решения существуют после этого изменения. И да, настройка сервера определенно является одной из таких альтернатив, но определенно не моей предпочтительной. - person Andreas Mikk; 11.04.2014