Как использовать теги OpenGraph в приложении, требующемся авторизации? - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть приложение iframe canvas, которое требует использования диалогового окна авторизации перед использованием, т. Е. С точки зрения браузера, все запросы немедленно перенаправляются в диалоговое окно аутентификации, если пользователь еще не принял их.

Это означает, что синтаксический анализатор Facebook не может прочитать теги OpenGraph на моей странице, поскольку он никогда не сможет пройти точку авторизации.

В более широком масштабе эта проблема также может возникнуть на любой странице, требующей входа в систему перед просмотром.

Как лучше обойти эту проблему?

Одно из решений, которое у меня есть, состоит в том, чтобы проверить, является ли Организация, к которой принадлежит IP-адрес клиента, Facebook, и, если это так, впустить его без авторизации, и отобразить страницу без содержимого, кроме тегов OG. Это хорошо для доступа к программам роботов из Facebook, но что происходит, если сотрудник пытается; Я не хочу, чтобы мое приложение было отключено, потому что кто-то из команды политиков не может правильно проверить приложение.

Относительно того, зачем мне нужны теги OG - пользователи регулярно делятся ссылкой на приложение, и это выглядит плохо, если в заголовке и описании есть только URL, а изображения нет.

1 Ответ

2 голосов
/ 22 февраля 2012

Вам нужно разрешить скребку URL-адреса Facebook просматривать ваши объекты.

Лучший способ сделать это - проверить строку «facebookexternalhit» в строке useragent. Если есть, верните урезанную HTML-страницу, содержащую теги OG, чтобы ее мог прочитать скребок Facebook.

...