Korkarım ki bu mümkün değil. Problemin, iki farklı protokolle sunucuya bağlanmaya çalıştığınız gerçeği, hem kelimenin tam anlamıyla hem de mantıksal olarak gerçekleştiğinden, bu iki eylemi ilişkilendirmenin açık bir yolu olmadığı tahmin ediliyor.
Gereksinimlerinize uygun oldukça basit bir çözüm var. Basit bir ayrıcalık belirteçleri sistemi veya gizli anahtarlar veya bunlara ne diyorsanız onu geliştirmeniz gerekir. Birincisi, HTTP
başlık içinde veya URL
kendisinde ya, artık AJAX
istek (veya şey) eklemek secretKey
almak için istemci üzerinde kullanabilirsiniz, Sonra bir sunucu yöntemi
var Secrets = new Meteor.Collection("secrets"); // only on server!!!
Meteor.methods({
getSecretKey: function() {
if (!this.userId)
// check if the user has privileges
throw Meteor.Error(403);
return Secrets.insert({_id: Random.id(), user: this.userId});
},
});
oluşturun. Korkma! HTTPS
kullanıyorsa hepsi şifrelenecektir.
Sunucu tarafında, secretKey
numarasını gelen istekten alıp Secrets
koleksiyonunda bulunup bulunmadığını kontrol edebilirsiniz. Kullanıcının belli ayrıcalıklara sahip olup olmadığını öğrenirsiniz. Ayrıca güvenlik nedeniyle gizli anahtarlarınızı bir süreden sonra koleksiyondan çıkarmak isteyebilirsiniz.
yanı, ama olmadı: Burada tam kaynak kodu kontrol edebilirsiniz. Bunun yerine bir Meteor yöntemi yazmayı bitirdim. Bu ideal değil, ama en azından benim durumumda bu benim sorunum için uygun bir çözümdü. –