1

我正在探索银行移动 HTML5 应用程序的可能性。它将通过 RESTful API 与主服务器联系。我经常听到人们在他们的移动应用程序中使用 OAuth 来访问 API。例如 SpringSource 的html5expense演示应用。

所以我不完全明白为什么要打扰?用户不能以标准方式登录,接收带有会话 id 的 cookie(或者在 Play 框架的情况下,会话数据),当应用程序向 REST 发出请求时,它将用于识别用户?

4

2 回答 2

2

Oauth 通常比大多数 BASIC AUTH 或“以标准方式登录”方法安全得多(并且 OAuth 正变得越来越标准)。

当您通过大多数“标准”方式登录时,用户将他的用户名和密码输入应用程序,然后用户名/密码通常要么存储在本地,要么传输到应用程序,然后可能被中继到“主服务器” " 例如提供 API。因此,用户将不得不将他非常秘密的登录信息(例如,用于银行业务?)输入到他不知道或不信任的客户端、应用程序或系统中......

使用 OAuth,用户被定向到该 API 所有者的登录页面 .. 例如,他的银行,他登录到他知道的安全登录页面,并被要求同意应用程序“xyz”想要访问他的数据.... 请求访问的应用程序随后会获得一个令牌,它可以使用该令牌访问 API,而无需知道用户名和密码。这样,用户名/密码只能在用户信任的位置输入一次。

此外,用户可以稍后登录并承认页面..(银行应用程序?或管理前端),并删除对 API 的给定访问权限,从而停止应用程序访问他的信息,而无需更改他的密码。

除了实际安全的效果之外,使用 OAuth 之类的东西对于银行应用程序也是有意义的,因为如果应用现代安全技术,它将给人们更多的信心。这也让人感觉更安全。

于 2012-05-27T03:21:51.437 回答
1

如果您不打算将您的 API 发布给第三方开发者;真的没有理由打扰 OAuth。

OAuth 存在的最大原因是启用与您的 API 的集成,而您的用户不必将他们的用户名和密码提供给第三方。其他原因是它可以为第三方对资源的访问设置时间框架,或确定访问范围。

于 2012-05-25T21:57:05.190 回答