У меня вопрос об аутентификации пользователей при разработке приложения iOS. Когда пользователь запускает приложение, на экран будет выведено приглашение, в котором будет предложено ввести правильное имя пользователя и пароль. Как только их учетные данные будут проверены, они смогут получить доступ к остальной части приложения. Я не знаю, как создать эту операцию проверки. Я знаю, как создать визуальную часть приложения, однако, что-то помимо этого я не понимаю. Короче говоря, как вы создаете приложение, которое требует учетных данных от пользователя для работы?Идентификация пользователя пользователя
ответ
Во-первых, Apple отклонит ваше приложение, если оно не может сделать что-то полезно без аутентификации. Во-вторых, вы собираете входные данные от пользователя, тогда вам нужно будет запустить NSURLConnection на ваш сервер, чтобы пройти аутентификацию, наблюдать за ответом и действовать соответствующим образом.
Я знаю, что Apple отвергнет его, если он не сможет сделать что-то полезное. Я понимаю, что собираю данные от пользователя. «Отключите NSURLConnection к вашему серверу, чтобы проверить подлинность, наблюдать за ответом и действовать соответствующим образом». Есть ли какой-либо возможный способ, чтобы вы могли объяснить это немного подробнее? –
Это зависит от того, как настроен ваш сервер, учитывая, что вы проверяете его на своем сервере. Вы бы использовать NSURLConnection
в некоторой степени таким образом, это то, как я делаю это в моем приложении (с учетом ваших параметров):
+ (NSDictionary *)executeCallWithRequest:(NSMutableURLRequest *)request {
NSHTTPURLResponse *response = nil;
NSError *error = nil;
NSData *jsonData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *dataString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
error = nil;
NSDictionary *result = jsonData ? [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:&error] : nil;
if (error == nil && response.statusCode == 200) {
NSLog(@"%i", response.statusCode);
} else {
NSLog(@"%@", dataString);
NSLog(@"%@", [error localizedDescription]);
}
return result;
}
+ (NSDictionary *)executePostWithRequest:(NSMutableURLRequest *)request {
request.HTTPMethod = @"POST";
return [self executeCallWithRequest:request];
}
+ (NSDictionary *)loginUserWithCredentials:(NSDictionary *)userCredentials {
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@", YOUR_URL]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
NSString *requestFields = [NSString stringWithString:@""];
for (NSString *key in [userCredentials allKeys]) {
requestFields = [requestFields stringByAppendingFormat:@"(param name)&", key, [userCredentials objectForKey:key]];
}
//removes the trailing &
requestFields = [requestFields substringToIndex:requestFields.length - 1];
requestFields = [requestFields stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSData *requestData = [requestFields dataUsingEncoding:NSUTF8StringEncoding];
request.HTTPBody = requestData;
return [self executePostWithRequest:request];
}
В моем случае я отвечаю с JSON закодированного массива.
Спасибо за ответ. Какой сервер? Как вы можете проверить с помощью сервера? Я никогда не создавал приложение с проверкой прежде, чем простить мое невежество. Нужно ли мне использовать дополнительные фреймворки, активированные в Xcode, для использования проверки? –
Нет, Чарльз у вас нет. И я имею в виду, что у вас должна быть программа на стороне сервера, или нет? С чем вы отказываетесь? Где вы сохраняете информацию о своем пользователе? – 8vius
- 1. Безопасная идентификация пользователя OpenID
- 2. Междоменная аутентификация - идентификация пользователя
- 3. Идентификация пользователя facebook
- 4. Идентификация пользователя в разных доменах
- 5. Идентификация пользователя для веб-приложения
- 6. уникальная идентификация пользователя для сайта
- 7. Пул пользователя и федеративная идентификация
- 8. Идентификация бэкэнд-провайдера зарегистрированного пользователя
- 9. идентификация пользователя с помощью cookie
- 10. Идентификация пользователя в LDAP java
- 11. Идентификация геолокации пользователя за прокси
- 12. Идентификация пользователя, осуществившего исследование - Limesurvey
- 13. Идентификация пользователя в Java-программе
- 14. Идентификация пользователя с помощью CodeIgniter
- 15. Restler + OAuth2 - Идентификация пользователя правильно
- 16. идентификация пользователя firebase. добавить данные после входа пользователя в систему
- 17. Идентификация пользователя Facebook Messenger с помощью UserID от пользователя Facebook
- 18. Идентификация пользователя на службе Джерси REST
- 19. Идентификация пользователя Android и iOS без регистрации
- 20. . Идентификация по электронной почте/имени пользователя .NET
- 21. Идентификация аутентифицированной учетной записи пользователя Google
- 22. Идентификация пользователя с использованием только ssl
- 23. Идентификация территории пользователя с помощью Maps - Beginner
- 24. linux C server - идентификация/присвоение имени пользователя
- 25. Идентификация анонимного пользователя в приложении Spring MVC
- 26. Идентификация местоположения пользователя по IP-адресу
- 27. Идентификация пользователя с помощью пароля, созданного Meteor
- 28. Идентификация идентификатора пользователя Facebook из URL-адреса?
- 29. странно идентификация пользователя в ejabberd болтовни
- 30. SSH RFC Идентификация пользователя Сообщение SSH_MSG_USERAUTH_REQUEST
Чтобы добавить к этому вопросу, приложения, такие как Paypal, Mint.com, Facebook, Twitter и App Store, используют учетные данные для проверки пользователей. Это не может быть сложным или большим секретом, чтобы знать, как это сделать. Мне просто нужна помощь в этом для разработки моего приложения. Im удивил, что яблоко не разработало учебное пособие для создания приложений, которые подтверждают учетные данные пользователя. Опять же, возможно, они есть, и я просто не знаю об этом :-) –
Этот вопрос действительно не связан с iOS, но с общим дизайном приложения – coneybeare
Так как я буду развиваться только в iOS, моя единственная забота - IOS. –