Задачка (доступ к документам в хранилище Google)
Требуется решение для описанной ниже задачи.
Условия задачи:
1.
Есть веб-приложение, требующее авторизации (далее – Сайт), а платформе Битрикс.
Есть два пользователя: User1 и User2, которые имеют на Сайте своим учетные записи и входят на Сайт каждый со своим логином-паролем.
2.
Есть аккаунт на Google (Аккаунт0) , это может быть как обычный бесплатный аккаунт, так и аккаунт Google Apps.
В хранилище Google этого аккаунта лежат два документа – 1.pdf и 2.pdf (под “хранилищем” здесь и далее понимается либо Google Docs, либо Google Storage)
3.
В БД Сайта есть запись о том, что User1 может просматривать документ 1.pdf (а 2.pdf – не может), а User2 может просматривать документ 2.pdf (а 1.pdf – не может)
Кроме страницы авторизации на Сайте есть всего одна страница и на ней установлены два фрейма просмотровщика Google Docs Viewer, в которых показываются два этих документа. Пример такой страницы http://barbati.narod.ru/test_GV_for_free_lance.html
Требуется сделать так, чтобы авторизованному на Сайте User1 было доступно для просмотра содержимое только первого фрейма (т.е. 1.pdf), а авторизованному на Сайте User2 было доступно для просмотра содержимое только второго фрейма (т.е. 2.pdf).
При этом чтобы были выполнены вот эти вводные ограничения:
(А) оба документа лежат именно в хранилище Google в аккаунте, к которому ни первый ни второй пользователь не имеют доступ
(Б) отдача изображения во фрейм просмотровщика Google Docs Viewer должна происходить НЕПОСРЕДСТВЕННО из хранилища Google, т.е. без каких-либо предварительных загрузок в другое место
(В) Оба файла должны быть недоступны для несанкционированного просмотра как любому авторизованному на Сайте пользователю, так и любому другому лицу из сети Интернет
(Г) в предлагаемом решении только Аккаунт0 может быть аккаунтом Google Apps. Кроме этого аккаунта для реализации если потребуеся можно применять только обычные бесплатные аккаунты Google (не Apps).
Результат-максимум:
1) Сайт с двумя страницами – страница авторизации и страница с фреймами, две пары логин-пароль для двух пользователей.
2) Описание как это реализовано
3) Полный код
Цена: 5000 рублей (или предлагайте свою)
Результат-минимум:
Если эту задачу выполнить невозможно: подробное описание всех вариантов, которые были испробованы и по каждому варианту -обоснование почему это невозможно
Оплата: 1000 рублей
Внимание: решение об оплате за результат-минимум будет приниматься субъективно, плата будет, только если действительно были сделаны попытки решить задачу и дано хорошее описание почему не получилось.
Для выполнения задачи могут быть полезны вот эти материалы:
API Google аккаунтов:
http://code.google.com/intl/ru-RU/apis/accounts/
SSO (похоже что это доступно только для Apps):
http://code.google.com/intl/ru-RU/googleapps/domain/sso/saml_reference_implementation.html