Термин «единый вход» может означать много разных вещей, но вот как я выполняю аутентификацию пользователей в приложениях, которые я создавал.
Во-первых, если я никогда не видел их раньше, я требую, чтобы они вошли в систему или зарегистрировались (подробнее об этом через секунду). Как только они это сделают, в веб-приложении я сгенерирую магический токен и сохраню его вместе с пользовательской записью. Я возвращаю этот токен как часть HTTP-ответа на запрос входа / регистрации и сохраняю его в NSUserDefaults.
С тех пор я поставляю этот токен при каждом запросе и использую его для аутентификации пользователя. Если они когда-либо отправляют мне что-либо без действительного токена, я возвращаю их через логин / регистрацию.
Я не удаляю его между запусками приложения. Когда вы вернетесь ко мне позже, вы останетесь собой, если не нажмете кнопку «Выйти».
Я также могу позволить вам выйти из веб-приложения таким способом, просто удалив токен авторизации из базы данных пользователей.
Теперь (тем более позже) я слышал о том, что Apple отклоняет приложения, потому что они требуют предварительной регистрации пользователя. Это не стало широко распространенным явлением, поэтому я подозреваю, что это был просто всплеск, но это так, это риск.