保护来自移动设备的身份验证

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、androidios 上运行的好方法来保护它。我们不能使用内置的身份验证,如 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 进行身份验证

移动设备上的 Azure App Service 身份验证问题

移动应用程序的 Laravel RESTful API 身份验证