Мое текущее приложение работает на сервере синтаксического анализа, и я хотел бы поместить его в Kitura. До сих пор мне удалось подключиться к mongodb, который работает за Parse Server и обслуживать данные.Приложение для аутентификации пользователей Kitura iOS mongodb
Для веб-части мне удалось выполнить http-аутентификацию, используя статический словарь с идентификаторами пользователей и паролем.
Я борюсь с частью iOS. В моем приложении уже много пользователей. Пользователи хранятся в таблице в mongodb. Там у меня есть три типа пользователей:
- Пользователи Facebook. Пользователи, которые подписались на своих учетных записях Facebook.
- Прямые пользователи. Пользователи, которые использовали форму регистрации приложения для создания учетной записи.
- Анонимные пользователи. Для них я создаю уникальный идентификатор, который я храню на своем устройстве, поэтому я могу сохранять свои данные. В контексте этого вопроса их следует рассматривать как прямых пользователей.
Для миграции пользователей из синтаксического анализа сервера на kitura, я планирую предпринять следующие шаги:
- При первом запуске приложения. Создайте случайный ключ и сохраните его в таблице пользователя.
- После сохранения используйте эту кнопку для входа в Kitura.
- При успешном входе в Китура удалите ключ.
У меня установлен клиент Mobile Access и Push Notification.
Я не могу решить, какой метод использовать для аутентификации пользователей, как на сервере, так и на стороне клиента.
До сих пор базовая проверка подлинности HTTP работает (только прямые пользователи), но я считаю, что есть лучший способ.
Мой текущий базовая аутентификация HTTP
let url = "http://172.20.10.3:8080/private2/class/KiteSpot?responseType=json"
var mutableURLRequest = URLRequest(url: nsURL)
mutableURLRequest.httpMethod = "GET"
let loginString = "<user>:<pass>"
let loginData = loginString.data(using: String.Encoding.utf8)!
let base64LoginString = loginData.base64EncodedString()
mutableURLRequest.addValue("DirectUserToken", forHTTPHeaderField: "X-token-type")
mutableURLRequest.addValue("text/plain", forHTTPHeaderField: "Accept")
mutableURLRequest.addValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")
self.sendRequest(mutableURLRequest, onSuccess: onSuccess, onFailure: onFailure)
У меня уже установлен мобильный клиентский доступ.В настоящее время я пытаюсь разработать собственный поставщик удостоверений, где я могу проверить пользователя и пароль на мою базу данных. Но не могу найти подробностей о том, как это сделать. Каковы конечные точки, которые должны быть вызваны на стороне клиента и какие события будут запускаться на сервере. – zirinisp
Пройти это может помочь: https://github.com/ibm-bluemix-mobile-services/bms-mca-custom-identity-provider-sample – joe
Я уже рассмотрел приведенный выше пример и преобразовал его в быстрый. Но startAuthorization и handleChallengeAnswer никогда не вызываются, когда я запрашиваю частный URL-адрес с мобильной стороны. Вероятно, я должен создать для него промежуточное ПО, но я не могу найти инструкции о том, как его создать. Это может быть так, что kitura еще не готов к этому. – zirinisp