Как перенаправить обратно в мобильное приложение Unity от входа в систему? - PullRequest
0 голосов
/ 19 марта 2020

Я занимаюсь разработкой мобильного приложения в Unity3D, которое использует oauth для входа в систему через мою организацию ADFS.

Я понимаю, что

  1. пользователь пытается войти
  2. приложение открывает браузер на oauth-сервере для ввода пользователем учетных данных
  3. oauth-сервер возвращает код авторизации и перенаправляет пользователя обратно в приложение
  4. приложение отправляет код на oauth-сервер для обмена на токен
  5. декодировать токен для получения данных пользователя

Правильно ли мое понимание потока?

Как мы это делаем в unity3D, особенно в той части, где браузер перенаправляет обратно в приложение, и как приложение получает код авторизации в этом процессе?

Обновление:

Глубокая ссылка в принятом ответе показывает, как перенаправить браузер обратно в приложение Unity. Решение iOS также продемонстрировало, как передавать данные URL-адреса перенаправления обратно в приложение iOS, но этого не хватает в разделе android.

Я еще кое-что нашел и обнаружил, чтобы получить возвращайте данные обратно в android, это включает создание плагина для Unity путем переопределения UnityPlayerActivity. Я с большим успехом следовал этому учебнику .

1 Ответ

1 голос
/ 19 марта 2020

Вам необходимо зарегистрировать глубокую ссылку для своего приложения и использовать этот протокол в URI перенаправления oauth, чтобы он отправлялся в обработчик глубоких ссылок вашего приложения.

Вот руководство, как это сделать на ios и android.

https://connect.unity.com/p/deep-linking-on-android-ios-with-unity

Глубокое связывание возможно и на windows, но они называют его «обработчиком пользовательского протокола». Вот большой вопрос об стеке потока:

Как зарегистрировать пользовательский протокол URL в Windows?

А в webGL вы сможете просто перенаправить обратно на свою страницу и получите токен с URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...