使用Symfony对用户进行外部服务身份验证

时间:2015-11-26 16:31:12

标签: angularjs symfony authentication oauth ftp

我一直在谷歌搜索整个下午,我仍然无法弄清楚实施以下内容的最佳解决方案:

我们在AngularJS中构建了一个webapp,它使用Symfony来消费与REST API构建的交互。该应用程序允许用户注册,登录和做东西。现在,这些用户需要将非常大的文件(> 60GB)上传到他们的个人文件夹中。为此目的设置了一个单独的VM(数据服务器),它位于与前端,后端和提供数据的MySQL数据库相同的VLAN中。数据上传将使用HTTP(使用JQuery File Upload插件)或FTP客户端完成。

我希望用户使用他们已经拥有的应用程序凭据对数据服务器(通过FTP或HTTP)进行身份验证。对于FTP情况,我将使用PureFTP作为FTP服务器,它直接从MySQL验证用户/传递。据我所知,这是最方便的解决方案,但批评是被接受的。 对于HTTP上传,我们可以以类似的方式继续:POST user / pass,对DB进行验证并返回true / false。由于所有通信都将在VLAN内进行,因此安全问题的问题较少。尽管如此,我相信已经开发了更复杂的解决方案。

我的第一个想法是在Symfony上构建OAuth服务器,然后使用各自的客户端验证上传器(以及未来的服务)。这是一种正确的方法还是一个太复杂的解决方案?

或者,dataserver中的服务可以验证客户端针对REST API发送的用户凭据,接收JWT并为该特定客户端生成新会话以列出和更新特定文件夹上的文件。我不知道如何构建这个中间件,我是否需要另一个Symfony实例或一个简单的PHP脚本才能解决这个问题?

请不要犹豫,分享您对此的任何想法。任何观点都将非常感激。

非常感谢

0 个答案:

没有答案