我正在探索银行移动HTML5应用程序的可能性。它将通过RESTful API与主服务器联系。我经常听到人们在他们的移动应用程序中使用OAuth来访问API。例如,SpringSource的html5expense演示应用程序。
所以我不完全明白为什么要这么麻烦?用户无法以标准方式登录,收到会话ID(或Play框架,会话数据)的cookie,用于在应用程序向REST发出请求时识别用户?
答案 0 :(得分:2)
Oauth通常比大多数BASIC AUTH更安全,或者“以标准方式登录”方法(并且OAuth越来越成为标准)。
当您通过大多数“标准”方式登录时,用户输入其用户名&然后,密码进入应用程序,并且用户名/密码通常存储在本地,或者传输到应用程序,然后可能被中继到例如提供API的“主服务器”。因此,用户必须将他非常秘密的登录信息(例如银行业务?)输入他不知道或不信任的客户,应用程序或系统......
使用OAuth,用户将被定向到该API所有者的登录页面。例如,他的银行登录到他知道的安全登录页面,并被要求他同意应用程序“xyz”想要访问他的数据....请求访问的应用程序然后被给予用于访问API的令牌,无需知道用户名和密码。这样,用户名/密码只在用户信任的位置输入一次。
此外,用户以后可以登录并接纳页面..(银行应用程序?或管理员前端),并删除给定的API访问权限,从而停止访问其信息的应用程序,而无需更改他的密码。
除了实际安全的效果之外,使用类似OAuth的东西,对于银行应用程序也是有意义的,因为如果应用现代安全技术,它将给人们更多的信心。这让它感觉更安全。
答案 1 :(得分:1)
如果您不打算将API发布给第三方开发人员;没有理由打扰OAuth。
OAuth存在的最大原因是支持与您的API集成,而您的用户无需向第三方提供用户名和密码。其他原因是,它可以为第三方访问资源或范围访问设置时间范围。