我在一台服务器(S1)上使用symfony2创建了一个Rest API。
我在一台服务器(S2)上使用symfony2创建了一个应用程序。
S1: 效果很好。它给出了用户信息的json响应,取决于给定的url。
S2: 效果很好。用卷曲问网址。在http标头中使用wsse来检索重要用户的信息。
我希望使用S1数据库登录我的用户(来自S2)。 但是当我在S2时,在json响应用户的信息后,我不知道我需要做什么以及如何做...
申请方: - Symfony2
API方面: - Symfony2 - FOSUserBundle - FOSRestBundle - JMS
这是我第一次尝试制作Rest API,所以也许我不太清楚它是如何工作的。
提前感谢。
编辑:了解详情。
现在我的问题是我需要为新页面做同样的事情,但我不想再问我的用户密码和用户名,因为对他来说,他是登录的。
希望它更清楚。
编辑2:我的问题以一句话恢复。
在Symfony2中,使用wsse身份验证,如何在API上进行身份验证后获取用户令牌并将其发送到客户端。
:P
答案 0 :(得分:0)
您需要创建自定义身份验证。幸运的是,这个Symfony cookbok条目将向您展示如何使用WSSE:
http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html
答案 1 :(得分:0)
当您从S2应用程序进行身份验证时,您的S1应用程序会返回一个令牌,对吗?
然后您需要做的就是将此令牌存储在S1应用程序中的某个位置(实体,redis,......随便),并且当外国应用程序(例如您的S2应用程序)在提供此请求时请求资源使用令牌,您只需检查令牌是否存在且有效。
如果是,那么您可以使用Symfony的安全组件对S1上的用户进行身份验证。