authentication - 移动应用程序 : how do I provide client authentication

标签 authentication mobile client-server lamp

我有一个健身移动应用程序的想法,并且我一直在基于这个想法为 iPhone(基于 Obj-C)、Android(基于 java)、WebOS(基于 html5)和 Nokia Qt 开发应用程序。

我现在需要向我的应用程序的用户提供身份验证。服务器是一个典型的LAMP系统。我希望我的移动应用程序的用户能够无缝、安全地登录服务器。

我并不是真正的网络程序员,因此希望了解如何提供身份验证的想法。我听说过 OpenID...但我不确定它是否可以用于验证移动客户端。有人提到了 OAuth,但我不确定 a) 它是否适用于此用例以及 b) 如果我的客户没有 Facebook/Twitter 帐户怎么办?

任何想法将不胜感激!

最佳答案

我做了类似的事情,并使用 gnuTLS 和 x.509 证书从客户端进行身份验证。它无缝且易于集成。

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

对我来说使用此方法的重要一点是 https 连接只是简单的方法调用,握手过程本身将由 gnuTLS 库处理。

我的应用程序是一个 iOS 应用程序,我使用 xcode 来完成它,这很简单。我认为 Java 方面会更容易,但我不确定诺基亚部分。编码采用 C 语言,因此是跨平台的。

但是,如果您正在寻找基于 iOS 的解决方案,我建议 http://developer.apple.com/library/ios/#samplecode/AdvancedURLConnections/Introduction/Intro.html

但是对于需要跨所有应用程序使用相同证书并且不需要用户输入或工作的跨平台解决方案,我仍然建议使用 gnuTLS 并使用 x509 证书。

关于authentication - 移动应用程序 : how do I provide client authentication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7580048/

相关文章:

javascript - Passport-js 如何创建自定义策略

python - 在 N 分钟不活动后将用户从 Django 站点注销

java - 文本在我的多客户端聊天 GUI 应用程序中不可见?

java - 客户端 服务器 文件传输 Java

java - 如何根据 Windows AD 对用户进行身份验证?

security - 为什么我无法在浏览器中存储 oauth 刷新 token ?

ios - 让iOS中的任务后台与Android中的服务相同的解决方案是什么?

java - Android - EditText-可选择,不可编辑

php - 移动重定向和完整站点链接

java - Android客户端-服务器通信在input.read上引发异常