保护来自移动设备的身份验证
Posted
技术标签:
【中文标题】保护来自移动设备的身份验证【英文标题】:Securing Authentication From Mobile Devices 【发布时间】:2013-08-29 06:59:54 【问题描述】:我们已开始查看本教程以使用 Windows Azure 中的新通知中心:
http://www.windowsazure.com/en-us/manage/services/notification-hubs/notify-users-aspnet/
在某一时刻,它指定了一个警告声明:
“安全提示 AuthenticationTestHandler 类不提供真正的身份验证。它仅用于模拟基本身份验证并返回一个原则。用户名是创建通知中心注册所必需的。上述实现并不安全。您必须在生产应用程序和服务中实施安全的身份验证机制。”
任何人都可以提出一种可以在 windows phone、android 和 ios 上运行的好方法来保护它。我们不能使用内置的身份验证,如 facebook、google、twitter 等,因为它需要使用我们自己的身份验证后端。
非常感谢您的帮助。
【问题讨论】:
【参考方案1】:要实现跨平台身份验证,最好使用OAuth2 之类的标准。
OAuth2 允许您
在服务器端的一处处理登录。 您的客户只能根据需要获得尽可能少的帐户信息。可以对客户端隐藏密码(而在移动应用程序中并不常见)。每个客户端都有自己唯一的访问令牌。 通过在服务器端撤销访问令牌来远程删除访问权限。实施:
Apache Oltu 是用于 OAuth2 身份验证(服务器和客户端支持)的 Java 框架。 Udi wrote a very good tutorial for Android authentication.【讨论】:
以上是关于保护来自移动设备的身份验证的主要内容,如果未能解决你的问题,请参考以下文章
无需对移动应用进行用户身份验证即可保护私有 REST API 的最佳方法
使用 Devise 从 Rails 上的 json api 进行身份验证