2013-08-30 3 views
0

Если бэкенд моего веб-приложения имеет долгоживущий токен доступа для пользователя, могу ли я использовать его для создания недолгого токена доступа для передачи клиенту (веб-странице) для взаимодействия с Facebook API?Могу ли я создать краткосрочный токен ограниченного доступа из долгоживущего?

Еще лучше, могу ли я создать тот, который является как кратковременным, так и ограниченным по объему (например, имеет только область user_photos), даже если долгосрочный токен доступа на моем сервере имеет больше разрешений?

+0

Внедрение JS SDK на вашу страницу автоматически приведет к кратковременному токену, если пользователь разрешил ваше приложение один раз (и если на сервере не существует сеанса, где долгоживущий токен уже сохранен). Но вы не можете попросить нового с меньшими разрешениями. (Вы можете удалить разрешения, но это также заберет их у вашего долгоживущего.) – CBroe

+1

Что вы здесь делаете? Ваше приложение пропускает токены доступа третьим лицам? – Igy

+0

@CBroe Я не хочу, чтобы интерфейс зависел от того, что пользователи вошли в правую учетную запись Facebook, как только они подключили ее. Например, если я использую компьютер друга, * они * могут быть уже подписаны в Facebook (и разрешили наше приложение), но если я запишусь на наш сайт как я, он должен использовать API Facebook как я. – s4y

ответ

0

Одним из вариантов было бы использовать токен доступа моего сервера для создания нового долгоживущего токена доступа и передать JavaScript на странице, за this API flow.

Это сработает, но мне не нравится идея раздачи долгоживущих токенов с полными разрешениями.

0

Одним из вариантов было бы проксирование API Facebook для зарегистрированных пользователей. Я бы сделал конкретные конечные точки на нашем сайте, которые вызывают Facebook с помощью вашего долговременного токена доступа.

Это работает и звучит хорошо с точки зрения безопасности, но это будет большая работа с небольшой гибкостью.

Смежные вопросы