背景我有一些将Oauth1a和Oauth2作为客户端连接到“可信”第三方服务(twitter,facebook等)的经验,但是第一次实现资源/授权服务器。
我对不同的授权类型有基本但不强烈的理解,以及Oauth如何尝试解决用户/资源的授权,同时保护用户信息(登录信息等)。
场景:我们正在创建一个客户端应用程序(reactJS),它必须向WordPress站点提交一些基本信息。我们在同一台服务器上控制(是作者并将主持)反应和WordPress。
我们正在使用WP Rest API: http://v2.wp-api.org/
用于wordpress的Oauth服务器插件 https://en-ca.wordpress.org/plugins/oauth2-provider/
问题 我们进一步实施,我问的越多,在这种情况下添加Oauth会获得什么样的安全性?
对于开发和测试,POST到REST端点的权限回调是TRUE(对任何请求都是开放的),现在我们正在尝试保护它,所以只有我们的应用程序可以向WordPress提交信息。
WordpPress的Oauth服务器的作者描述了这个:
用于执行CRUD WP REST API操作的访问令牌必须通过密码授予类型(用户凭据)获取。
这需要在客户端中嵌入以下内容:
因为:
访问令牌必须分配给正确的用户ID WordPress功能可以执行CRUD操作。
只是为了取回访问令牌。 注意:用户不通过我们的反应应用程序登录。在这种情况下,应用程序本身充当一个用户。
我必须遗漏一些东西,暴露WordPress用户名和密码似乎不如完全跳过Oauth,保持POST端点打开,并通过提交率,IP或其他方式实施某种提交滥用检查。
使用Oauth2:控制客户端的人可以查看XHR请求并检索提交恶意数据所需的所有信息。
没有Oauth2:有人可以使用众多发现技术中的一种来查找我们的公共端点并尝试提交恶意数据。
我可能遗漏的事情:在嵌入客户端之前,我应该加密/散列密码,密码,ID等吗?
我应该将我们的授权服务器与资源服务器分开吗?
我是否错过了这一点,Oauth不适合这种情况?
任何见解或澄清都非常感谢。