Разработка

Связывание аккаунтов

Вы можете настроить связывание аккаунтов пользователя в вашей системе с его аккаунтом Meta. Так ваша система получит доступ к псевдониму, представляющему собой имя пользователя Meta, и ID внутри организации, который идентифицирует пользователя в приложениях Meta Quest для вашей команды.

Возрастные ограничения

При разработке приложений учитывайте следующие возрастные ограничения:
  • Дети младше 13 лет (10–12 лет): независимо от статуса сертификации вашего приложения дети до 13 лет не могут получить доступ к этой функции Platform SDK. Реализуйте обработку ошибок для случаев, когда эта функция не поддерживается, чтобы обеспечить безопасный и комфортный пользовательский опыт для детей.

Начало работы со связыванием аккаунтов

В этом руководстве описано, как настроить связывание аккаунтов на панели разработчика, как пользователи будут взаимодействовать с этой функцией и как получить ID и псевдоним. Чтобы использовать связывание аккаунтов, у вас на панели разработчика должно быть настроенное приложение и аккаунты реальных или тестовых пользователей.

1. Регистрация URL для входа на Панели разработчика

Для настройки привязки аккаунтов в вашем приложении необходимо сначала зарегистрировать URI единого входа (SSO) на панели разработчика.
  1. Войдите на Панель разработчика. На панели навигации в левой части экрана перейдите в раздел Команда > SSO.
  2. Введите в появившееся поле ваш URI для входа и нажмите Submit (Отправить).

2. Создание интерфейса для привязки аккаунтов и перенаправление пользователя в Meta

В приложении или на сайте предоставьте пользователю кнопку (или другой элемент пользовательского интерфейса) для выражения согласия на связывание его аккаунта в вашей системе с его аккаунтом Meta.
Когда пользователь нажмет на кнопку (или инициирует связывание аккаунта через другой элемент интерфейса), перенаправьте его в Meta по следующему URI, указав в качестве параметров запроса зарегистрированный вами SSO URI и ID вашей организации Meta Quest:
https://auth.oculus.com/sso/?redirect_uri={yourLoginURL}&organization_id={yourMetaQuestOrganizationID}
При необходимости пользователь войдет в свой аккаунт Meta Quest и подтвердит, что хочет связать его.
Пример процесса привязки аккаунтов для пользователя:
Когда пользователь нажимает кнопку Link Account (Привязать аккаунт), нужно перенаправить его, отправив запрос GET по следующему URI:
https://auth.oculus.com/sso/?redirect_uri=https://someloginuri.com/oa&organization_id=1234567812345678

3. Извлечение кода авторизации и ID пользователя

Когда Meta Quest перенаправляет пользователей на ваш URI для входа, к URI добавляется JSON в кодировке base-64. Этот JSON содержит код авторизации и ID пользователя, привязанный к организации, который можно использовать для получения маркера OAuth. Структура этого URI:
{yourLoginURL}#{base-64EncodedJSON}
Пример:
https://someloginuri.com/oa#1234ImCiAib3JnLXNjb3BlZF9pZCI6ICIxMjM0NTY3ODEyMzQ1Njc4Igp9
После декодирования:
{
 "code":"somecode",
 "org-scoped_id": "1234567812345678"
}
Сохраните 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 и код обновления.
{
    "oauth_token": "some-oauth-token",
    "refresh_code": "some-refresh-code"
}

5. Получение ID и псевдонима пользователя с использованием маркера OAuth

Используйте маркер OAuth, полученный на предыдущем шаге, чтобы запросить ID и псевдоним пользователя. Отправьте следующее сообщение:
Метод: GET
URI: https://graph.oculus.com/me
Пример сообщения:
GET https://graph.oculus.com/me?access_token=some-access-token&fields=id,alias
Параметры:
ПараметрТип параметраОписание
access_token
Запрос
Маркер OAuth, полученный на шаге 4.
fields
Запрос
Список полей пользователя через запятую. Доступны только id и alias.
Пример ответа в случае успеха:
Ответ в формате JSON содержит ID пользователя и его псевдоним в Meta Quest.
{
    "id": "1234567812345678",
    "alias": "gamertag"
}
Храните маркер OAuth для пользователя и используйте его для выполнения запросов к Meta Quest от имени пользователя.

6. Использование маркера обновления (при необходимости)

Когда срок действия 30-дневного маркера OAuth истечет, запросите новый. Отправьте следующее сообщение:
МЕТОД: POST
URI: https://graph.oculus.com/sso_authorize_refresh_code
Пример сообщения:
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 и новый код обновления.
{
    "oauth_token": "some-oauth-token",
    "refresh_code": "some-refresh-code"
}
Логотип навигации
Русский
© 2026 Meta