2013-06-29 22 views
6

Bir web uygulaması (R kodlaması yapıldığı parlak sunucu) kullanıyoruz ve ona bir kimlik doğrulama katmanı eklemek istiyoruz. R'de bunu yapmak için bir şey inşa etmekten ziyade, göktaşı kullanarak auth jetonları ve bunların hepsini yaratmayı düşündüm. auth tokens, yerel depolama ve meteor

 
    { "createdAt" : 1372521823708, 
     "_id" : "HSdbPBuYy5wW6FBPL", 
     "services" : { "password" : { "srp" : { "identity" : "vKpxEzXboBaQsWYyJ", 
      "salt" : "KRt5HrziG6RDnWN8o", 
      "verifier" : "8d4b6a5edd21ce710bd08c6affb6fec29a664fbf1f42823d5cb8cbd272cb9b2b3d5faa681948bc955353890f645b940ecdcc9376e88bc3dae77042d14901b5d22abd00d37a2022c32d925bbf839f65e4eb3a006354b918d5c8eadd2216cc2dbe0ce12e0ad90a383636a1327a91db72cf96cd4e672f68544eaea9591f6ed102e1" } }, 
     "resume" : { "loginTokens" : [ 
      { "token" : "t9Dxkp4ANsYKuAQav", 
       "when" : 1372521823708 } ] } }, 
     "emails" : [ 
     { "address" : "[email protected]", 
      "verified" : false } ] } 
  • kullanıcı:

    • meteor ve meteor olan bir kullanıcı kayıtları şuna benzer bir veritabanı giriş oluşturur: Bu ben bunu yapmanın düşünme şeklidir "eski uygulamaya" yönlendirildi. Yerel depolama veridir
     
        Meteor.loginToken: t9Dxkp4ANsYKuAQav 
        Meteor.userId: HSdbPBuYy5wW6FBPL 
    
    • : (? Ancak doğru aynı dışa dönük ana ve bağlantı noktasını kullanırsanız, meteor aynı yerel depolama olmalıdır) İşte bu bilgileri yerel depolama alanını kontrol ve bulmak "diğer uygulama" tarafından araştırılmış ve yerel depolama bilgilerinin veritabanında ne ile eşleştiğini doğrulamak için meteor db'ye karşı basit bir veritabanı sorgusu yapar. Belki de bir çeşit son kullanma tarihini kontrol edin. Bu eşleşirse, uygulama oluşturur, aksi halde olmaz.

    Bunu yapmak için iyi bir güvenli yol mu? Uygulamalar arasında yerel depolama alanını paylaşmak için çalışacak mı?

+2

: http: //en.wikipedia. org/wiki/HTTP_cookie # Domain_and_Path. –

+0

Bu, Meteor ve tarayıcı uzantıları ile çalışırken tam olarak buna nasıl yaklaştığım. –

+0

Bu sorunun alaka düzeyi ile ilgili olarak, Shiny'tan (isteğe bağlı olarak şifrelenmiş) yerel depolamayı kullanmanıza olanak veren BrightStore paketi olabilir: https://github.com/trestletech/shinyStore –

cevap

0

Elbette, WebSockets'larınızın TLS üzerinden çalıştığından emin olmanız gerekir. LocalStorage, basit bir Same-origin Policy kullanır. Evet, işe yarayacak. LocalStorage bir çerez kadar güvenlidir, bu yüzden sorun yok.

TLDR:

Evet ve Evet makul bir yaklaşım gibi görünüyor, ancak çerezleri alan ve yol kısıtlamalar için dikkat etmek gerekir

İlgili konular