Мне нужно создать приложение на базе сервера (php) с клиентом iOS с авторизацией «login» mechanisim, но я не знаю о сеансе в iOS. Мое приложение требует входа на мой сайт (веб-сайт на PHP) для получения данных. Я не знаю, является ли сеанс для iPhone-клиента кепитом на сервере?
Детали:
После отправки запроса на вход от клиента iPhone к моему веб-приложению, я думаю, здесь здесь создается сеанс в моем webapp (правильно?), Как насчет моего следующего запроса? могу ли я получить доступ к тому же сеансу, созданному для первого запроса .. В другом слове: могу ли я поделиться данными в веб-сеансе (на сервере), чтобы быть доступным в каждом запросе, отправленном клиентом iOS после входа?
Сеансы – концепция на стороне сервера – на стороне клиента нет сеанса.
Что обычно происходит, так это то, что сервер устанавливает cookie в заголовках ответов после входа в систему, и этот файл cookie содержит идентификатор сеанса, так что при последующих запросах сервер знает, что клиент использует этот сеанс, потому что он соответствует файлу cookie.
Файлы cookie автоматически работают на iOS, поэтому вам не нужно ничего делать вообще. NSURLRequests имеет свойство HTTPShouldHandleCookies, которое по умолчанию имеет значение YES, поэтому все должно работать только по умолчанию.
Если он не работает (или просто хотите узнать, что происходит), вы можете получить доступ к куки-файлам в iOS с помощью API NSHTTPCookieStorage. Взгляните внутрь [NSHTTPCookieStorage sharedHTTPCookieStorage], который немного похож на NSDictionary. Вот где cookie сеанса должен быть установлен после входа в систему.