Вы можете настроить связывание аккаунтов пользователя в вашей системе с его аккаунтом Meta. Так ваша система получит доступ к псевдониму, представляющему собой имя пользователя Meta, и ID внутри организации, который идентифицирует пользователя в приложениях Meta Quest для вашей команды.
Возрастные ограничения
При разработке приложений учитывайте следующие возрастные ограничения:
Дети младше 13 лет (10–12 лет): независимо от статуса сертификации вашего приложения дети до 13 лет не могут получить доступ к этой функции Platform SDK. Реализуйте обработку ошибок для случаев, когда эта функция не поддерживается, чтобы обеспечить безопасный и комфортный пользовательский опыт для детей.
Начало работы со связыванием аккаунтов
В этом руководстве описано, как настроить связывание аккаунтов на панели разработчика, как пользователи будут взаимодействовать с этой функцией и как получить ID и псевдоним. Чтобы использовать связывание аккаунтов, у вас на панели разработчика должно быть настроенное приложение и аккаунты реальных или тестовых пользователей.
1. Регистрация URL для входа на Панели разработчика
Для настройки привязки аккаунтов в вашем приложении необходимо сначала зарегистрировать URI единого входа (SSO) на панели разработчика.
Войдите на Панель разработчика. На панели навигации в левой части экрана перейдите в раздел Команда > SSO.
Введите в появившееся поле ваш URI для входа и нажмите Submit (Отправить).
2. Создание интерфейса для привязки аккаунтов и перенаправление пользователя в Meta
В приложении или на сайте предоставьте пользователю кнопку (или другой элемент пользовательского интерфейса) для выражения согласия на связывание его аккаунта в вашей системе с его аккаунтом Meta.
Когда пользователь нажмет на кнопку (или инициирует связывание аккаунта через другой элемент интерфейса), перенаправьте его в Meta по следующему URI, указав в качестве параметров запроса зарегистрированный вами SSO URI и ID вашей организации Meta Quest:
Когда Meta Quest перенаправляет пользователей на ваш URI для входа, к URI добавляется JSON в кодировке base-64. Этот JSON содержит код авторизации и ID пользователя, привязанный к организации, который можно использовать для получения маркера OAuth. Структура этого URI:
Сохраните ID пользователя в своей системе, чтобы использовать его для запроса обновления маркеров.
4. Отправка кода, ID пользователя и информации об авторизации для запроса маркеров
Используйте данные из предыдущего шага вместе с ID приложения и его секретом, чтобы запросить токен OAuth. ID и секрет приложения можно найти на Панели разработчика в разделе Разработка > API. Чтобы получить доступ к секрету приложения со страницы API, используйте аккаунт администратора.
Отправьте следующее сообщение:
URI: https://graph.oculus.com/sso_authorize_code
МЕТОД: POST
Пример сообщения:
POST https://graph.oculus.com/sso_authorize_code?code=somecode
&access_token=OC|client-id|client-secret&org_scoped_id=user-id-for-your-org
Параметры:
Параметр
Тип параметра
Описание
code
query
Код доступа, полученный в результате декодирования на шаге 3.
access_token
Запрос
Маркер в формате OC|APPID|APPSECRET, содержащий ID и секрет приложения, которые указаны на Панели разработчика Meta Horizon в разделе Development (Разработка) > API > App Credentials (Учетные данные приложения).
org_scoped_id
Запрос
Привязанный к организации идентификатор, полученный из результата декодирования на шаге 3.
Пример ответа в случае успеха:
Ответ JSON содержит 30-дневный маркер OAuth и код обновления.
POST https://graph.oculus.com/sso_authorize_refresh_code?
access_token=AppSecretToken&org_scoped_id=some-id&refresh_code=refresh-code
Параметры
Параметр
Тип параметра
Описание
access_token
Запрос
Маркер в формате OC|APPID|APPSECRET, содержащий ID и секрет приложения, которые указаны на Панели разработчика Meta Horizon в разделе Development (Разработка) > API > App Credentials (Учетные данные приложения).
org_scoped_id
Запрос
Привязанный к организации идентификатор, отправленный в запросе на ваш URL входа.
refresh_code
Запрос
Код обновления, полученный на шаге 4.
Пример ответа в случае успеха:
JSON-ответ содержит 30-дневный маркер OAuth и новый код обновления.