我目前正在将我的普通Symfony2 WebApplication更改为Ember.js前端,并使用由S2后端提供支持的REST Api。
在我的旧解决方案中,我有用于定期注册/登录等的FOSUserbundle和用于Facebook登录的HWIOAuthBundle。现在我正试图将这些功能转移到我的Rest Api。为了运行定期身份验证,我实现了FOSOAuthServerbundle。我的Ember.js通过Ember简单身份验证来消费它。但这只适用于常规登录。
我不知道我将如何使facebook登录工作在这个设置。由于Facebook正在与OAUth合作,而我的后端正在与它合作。我的前端是否直接向Facebook索要代币?如何通知我的后端?还是请求通过我的后端,而我正在提供facebook代币?还是我的后端要求获得facebook代币,然后从FOSOAuthServerBundle中退还我自己的Oauth代币?
有很多问号,我真的没有在网上找到一个好的答案。有人用facebook登录实现了一个安全的RESTApi吗?
你在Ember.SimpleAuth repo中看到Facebook的例子了吗(https://github.com/simplabs/ember-simple-auth/blob/master/examples/7-external-oauth/index.html)?基本概念是,Ember.js应用程序打开Facebook Auth UI,然后重定向到您的应用程序,该应用程序(在服务器端)处理Facebook的响应,并可能将Facebook的令牌替换为自定义令牌,Ember.js应用程序可以使用该令牌对您的服务器进行身份验证。