Web sitemde FB JDK ile FB girişini etkinleştirdim. Bunu kullandığımda, mükemmel çalışır: iletişim penceresi açılır, ben yetkilendiririm ve authResponse
beklendiği gibi. Başka bir kullanıcı onu (henüz uygulamaya izin vermemiş, ancak FB'ye giriş yapmış) kullandığında, oturum açma iletişim kutusu kısa bir saniye için görünür ve anında kaybolur ve yanıt nesnesinin durumu not_authorized
olur. İletişim kutusunun neden kullanıcıya izin vermeyeceği konusunda herhangi bir fikir var mı? Benim düzeni (Haml) olarakfb.Login() penceresi hemen kapanıyor ve 'not_authorized' döndürüyor
:
giriş bağlantı%body
#fb-root
:javascript
window.fbAsyncInit = function() {
FB._https = false;
FB.init({
appId : <App ID>
status : true,
cookie : true,
oauth : true,
xfbml : true
});
FB.getLoginStatus(function(response) {
if(window.reportFBstatus) {
reportFBstatus(response);
}
}, true);
};
// Load the SDK
(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/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
: CoffeeScript yılında
%a{href: '#', onclick: 'FB.login(window.reportFBstatus, {scope: "user_about_me"})'}
: benim için çalıştı
window.reportFBstatus = (response) ->
$.ajaxSetup({
headers:
'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
})
console.log response # always shows status=not_authorized for other users
if response.status is 'connected'
auth = response.authResponse
$.post('/login', {fb_id: auth.userID, fb_token: auth.accessToken}, (data) ->
window.currentUser = data
)
Aynı sorunu yaşıyorum. Kök nedenini anlayamadım –