security - 使用 cookie/ session 进行移动应用程序身份验证?

标签 security api authentication mobile session-cookies

是否有任何理由不应该对 native 移动应用程序(通常由浏览器使用)使用 cookie/ session 来向我的服务器进行身份验证以及后续 API 调用?

澄清:移动客户端上事实上的身份验证方法似乎是基于 token 的系统,例如 OAuth/XAuth。为什么传统的浏览器方法不够?

最佳答案

这取决于您的应用程序(更准确地说是您的威胁场景)。

一些最常见的威胁是 - 窃听(-> 应该加密) - 中间人(-> 必须验证另一方) - ...你的是什么? (你的 cookie 存储有多安全,......)

Cookie 最初仅包含一个 token ,作为您有时已成功进行身份验证的证据。如果 cookie 有效时间足够长或传输未加密,那么很有可能有一天有人会发现...

此外,您还必须考虑采取了哪些额外的安全措施,首先是最重要的 SSL。

您的身份验证方法是什么(客户端需要什么凭据才能登录)?您是否可以使用基于 PPK 基础设施的身份验证,或者通信是“临时”的吗?

编辑

WRT。 OpenAuth:据我了解该协议(protocol),其主要关注的是身份验证委托(delegate)。您授权代理代表另一个身份执行某些非常具体的任务的场景。这样您就不会将您的凭据分散在整个网络上。如果您有 OpenAuth,客户端也可以直接使用该协议(protocol)。那么为什么还要添加另一个呢?但 OpenAuth 明确指出,在直接客户端场景中,您会再次遇到安全问题,因为现在 token 在设备上可用,并且必须进行相应的保护(就像您必须对 cookie 所做的那样)。

关于security - 使用 cookie/ session 进行移动应用程序身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4560733/

相关文章:

ruby-on-rails - Devise gem 使用什么算法来生成身份验证 token ?

security - 通过 SSL 的 RabbitMQ

java - 如何生成超过 2^30 个组合的随机唯一字符串。我也想扭转这个过程。这可能吗?

c# - 使用简单方法安全删除文件?

wordpress - WooCommerce API 的高级自定义字段

PHP Curl for Rest API 不起作用

ajax - 通过 AJAX 发送登录信息

linux - 如何使用 grep 多重模式并删除第一个模式

visual-studio - Visual Studio 2017 WebTest 使用 Azure Active Directory (AAD) 验证 Azure Web App

ios - 带身份验证的 CGImageSourceCreateWithURL