2013-05-19 23 views
5

Pasaportta Twitter kimlik doğrulaması var. Her şey yolunda iyi bilge. Bu kodu kullanıcı zaten o sadece geri yönlendirir twitter ile siteme kaydedilir Yani eğerpassport.js kullanıcısına tekrar kullanıcı girişi twitter login

app.get('/auth/twitter', function (req, res) { 
    if (req.user) { 
     return res.redirect('/'); 
    } 
    return passport.authenticate('twitter')(req, res); 
}); 

var (muhtemelen sonunda bir mesaj vermek). Siteyi kapattıktan ve Twitter ile tekrar giriş yaptıktan sonra tekrar Twitter yetkilendirme uygulama sayfasına götürür. Olmaması gereken. Diğer web sitelerine baktığımda, uygulamayı tekrar yetkilendirmemi asla istemiyor. Twitter profilimin yetkili uygulama bölümüne baktığımda, geliştirdiğim uygulamayı görüyorum.

Uygulamam neden verdiğim halde neden yetkilendirme soruyor? Bunu nasıl değiştirebilirim (token ve token_secret'i db'de saklıyorum)? Yardım için teşekkürler.

cevap

6

Son zamanlarda, geliştirme sistemimde aynı sorunu yaşıyordum, ancak üretimde değil.

Sorun benim için Twitter'daki uygulama ayarlarına geri döndü. Twitter Dev sitesine gittiğimde ve DEV ve PROD sistemlerim için yaptığım seçimleri dikkatlice karşılaştırmaya başladığımda, Uygulamalarım için Ayarlar sekmesindeki bir fark fark ettim: "Bu uygulamanın Twitter ile Oturum Açmak için Kullanılmasına İzin Ver" onay kutusu "kutum, DEV'ım için değil seçildi, ancak PROD sistemim için oldu.

Uygulamanın Ayarlar sekmesinde onay kutusunun altında minik desenli diyor ki:

ne zaman uygulama "Twitter ile giriş yapın" için kullanılabilir sağladı. devre dışı olduğunda application/oauth/ authorize vs authenticate arasındaki fark terminoloji ile açık değildir

yetki yerine kullanıcıyı yönlendirir/oauth/kimlik doğrulaması ve ona herhangi bir isteği kullanabilmek için, ama gerektirir uyulmadığı takdirde Doğrulama, her zaman kullanıcının seçimini "hatırlar". Bu tek bir değişiklik yaptıktan sonra

, benim DEV sistemi ... authorize ilgili onay Ben Twitter üzerinden oturum test her zaman için

+0

Güzel adam beni soran durdu. Yardım için teşekkürler! –

İlgili konular