#ios #google-plus #google-openid
#iOS #google-plus #google-OpenID
Вопрос:
Кажется, раньше это было возможно, но больше нет. Вот моя дилемма: я создаю образовательное программное приложение для iPad и хочу, чтобы учащиеся могли входить в систему со своими учетными записями Google Apps для образования с помощью OpenID-Connect.
… Я думаю, мой первый вопрос: является ли текущий Google SDK правильным способом для входа в систему с помощью GAFE? Как насчет предстоящего «Google Classroom»?
Допустим, я делаю это — учащийся нажимает кнопку «войти с помощью кнопки Google», sdk переключает приложение на safari и позволяет пользователю войти в свою учетную запись Google, нажать кнопки разрешения, и приложение переключается обратно на мое приложение, и пользователь теперь вошел в систему. Отлично. В конце периода занятий пользователь выходит из моего приложения и передает свое устройство. Однако на следующем уроке в систему входит другой студент, и поскольку первый пользователь забыл также выйти из Google в Safari, второй пользователь получает доступ к своей учетной записи.
… Мой второй вопрос: является ли это обоснованной проблемой? Похоже, это будет довольно распространенный шаблон использования.
… Третий вопрос — могу ли я обойти это? Могу ли я заставить Google sdk использовать внутренний UIWebView или вообще не использовать веб-материалы? Это то, что, похоже, раньше было возможно, но больше нет…
РЕДАКТИРОВАТЬ: поговорил с технической поддержкой Google для приложений для предприятий (спасибо!), И они говорят, что нет способа пройти аутентификацию в Google OpenID-connect, не проходя через браузер. Я считаю, что это проблема безопасности — ученики, будучи детьми, забудут выйти из браузера, и следующие дети будут озорничать. Ну что ж.
Ответ №1:
GPPSignin
Класс описывает себя как:
Он обеспечивает единый вход через приложение Google (если установлено), Chrome для iOS (если установлено) или Mobile Safari.
Внутренние веб-просмотры не упоминаются. Возможно, вам потребуется самостоятельно реализовать OAuth2.0, чтобы разрешить вашему внутреннему UIWebView управлять авторизацией.
Google публикует API, который включает в себя метод signOut
. Вы можете использовать его по усмотрению своего приложения в дополнение к требованию SDK, чтобы пользователь мог выйти из системы вручную.
https://developers.google.com / /мобильный/ios/api/interface_g_p_p_sign_in