мобильное приложение: как обеспечить аутентификацию клиента - PullRequest
2 голосов
/ 28 сентября 2011

У меня была идея для фитнес-мобильного приложения, и я разрабатывал приложения, основанные на этой идее, для iPhone (на основе Obj-C), Android (на основе Java), WebOS (на основе html5) и Nokia Qt.

Теперь мне нужно предоставить аутентификацию пользователям моего приложения. Сервер является типичной системой LAMP. Я бы хотел, чтобы пользователи моего мобильного приложения могли беспрепятственно и безопасно входить на сервер.

Я на самом деле не веб-программист, и поэтому буду признателен за идеи о том, как я могу обеспечить аутентификацию. Я слышал об OpenID ... но я не уверен, что его можно использовать для аутентификации мобильных клиентов. Кто-то упомянул OAuth, но я не уверен, что а) он будет работать в этом случае и б) что если у моего клиента нет учетной записи Facebook / Twitter?

Любые идеи будут оценены!

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

Я сделал нечто подобное и использовал gnuTLS и сертификат x.509 для аутентификации на стороне клиента.Его легко и просто интегрировать.

https://idlebox.net/2009/apidocs/gnutls-2.6.6.zip/gnutls_7.html#SEC65

Важным моментом использования этого метода для меня было то, что соединение https было просто вызовом метода, а сам процесс рукопожатия будет обрабатываться библиотекой gnuTLS.

Моим приложением было приложение для iOS, и я использовал xcode, чтобы это было легко.Я думаю, что это будет легче на стороне Java, но я не уверен в части Nokia.Кодирование написано на C и, таким образом, является кроссплатформенным.

Однако, если вы ищете решение на базе iOS, я рекомендую http://developer.apple.com/library/ios/#samplecode/AdvancedURLConnections/Introduction/Intro.html

Но для кроссплатформенного решения, которое требует одинакового сертификата для всех приложений и не требует ввода или работы для пользователяЯ все еще предлагаю gnuTLS и использовать сертификат x509.

1 голос
/ 17 октября 2011

Если у вас уже есть сервер LAMP, должно быть довольно легко настроить реализацию собственного API для аутентификации по паролю - важно то, что вы делаете это через HTTPS! (поэтому идентификаторы и пароли пользователей не могут быть обнаружены). Вам понадобится цифровой сертификат (CERT) для вашего веб-сервера.

В вашей системе LAMP вы можете хранить пользовательские данные в своей базе данных. Ваш сервер LAMP также должен позволять создавать учетную запись локального пользователя (конечно).

Вы можете использовать это решение отдельно или вместе с OpenID или OAuth!

Это означает, что если у вашего клиента нет Facebook или Twitter, он все равно может создать учетную запись на вашем сервере LAMP.

http://en.wikipedia.org/wiki/OAuth

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...