0
我想使用Facebook JavaScript SDK(FB.login),AngularJS和Laravel在我的網站上驗證用戶。AngularJS與Facebook SDK - HTTP POST一旦登錄到Facebook
我在第二次Facebook登錄嘗試中工作,或者如果用戶已經登錄到Facebook,但在第一次登錄嘗試時,它不會生成任何http帖子。
在控制檯日誌中我收到響應,已連接,但沒有成功或錯誤,但它確實成功登錄到Facebook。
這裏是我迄今爲止...
app.run(function($rootScope, $location, AuthenticationService, FlashService, Facebook) { var routesThatRequireAuth = ['/', '/add', '/settings']; $rootScope.$on('$routeChangeStart', function(event, next, current) { if(_(routesThatRequireAuth).contains($location.path()) && !AuthenticationService.isLoggedIn()) { $location.path('/login'); FlashService.show("Please log in to continue."); } }); // Initialise Facebook (function(d){ var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; if (d.getElementById(id)) { return; } js = d.createElement('script');js.id = id;js.async = true; js.src = "//connect.facebook.net/it_IT/all.js"; ref.parentNode.insertBefore(js, ref); }(document)); window.fbAsyncInit = function() { FB.init({ appId : 'myID', // App ID status : true, // check login status cookie : true // enable cookies to allow the server to access the session }); $rootScope.fbLogin = Facebook.fbLogin; }; });
app.factory('Facebook', function ($http, $location) { return { fbLogin: function() { FB.login(function(response) { console.log('response received'); if (response.status==='connected') { console.log('connected'); var postData = new Object(); postData.network_id = 1; $http({ method: 'POST', url: 'api/auth/login', data: postData }). success(function(data, status, headers, config) { console.log('success'); $location.path('/networks'); }). error(function(data, status, headers, config) { console.log('error'); }); } }, { scope:'email,read_friendlists,user_online_presence,read_stream,manage_pages'}); } } });