Tüm istemci tarafı teknolojisi (HTML, CSS, JavaScript / AngularJS, vb ...) olacak bu web uygulaması var. Bu web uygulaması verilere erişmek ve verileri değiştirmek için REST API ile etkileşime girecektir. Şu anda REST API'nin ne tür bir kimlik doğrulama sistemi kullanacağına karar verilmemiştir.
Anladığım kadarıyla, her türlü API kimlik doğrulama sistemi (API Anahtarları, OAuth 1/2, vb ...) gizli tutulması gereken belirli verilere sahip olacak, aksi takdirde erişim tehlikeye girebilir. API Anahtarları için, anahtarların kendileri gizli olmalı, OAuth 2 için istemci gizli / erişim belirteçleri / yenileme belirteçleri gizli tutulmalı, eminim OAuth 1'de yer alan 4 anahtardan birkaçının gizli tutulması gerekiyor (değil OAuth ile çok fazla deneyim 1). Sunucu tarafında bir tür orta katman olmadan saf bir istemci tarafı web uygulamasında bu gizli şeyler saklamak için bir yol olup olmadığını düşünmeye çalışıyorum.
Bunu düşünmeye çalışıyorum ve bunu yapacak bir yer düşünemiyorum. Yani herkes sadece kaynağı görüntüleyebilir veya konsolu açabilir ve veri alabilir çünkü ben javascript saklayamıyorum. LocalStorage'ın ne kadar güvenli olduğundan ve kullanıcıların bu verilere erişip erişemeyeceğinden% 100 emin değilim. Yerel depolama güvenli olsa bile, veri almayı iki şekilde düşünebilirim. Bunun bir yolu, verileri aklıma gelen en güvensiz şey olan javascript kaynak kodunda depolamaktır. Şimdi, geri kalan api'nin kendisinin jetonları vereceği OAuth 2 gibi bir şey kullanıyor olsaydım, bu hala o kadar güvenli olmazdı (ilk seçenekten daha iyi) çünkü bu jetonlar, bilgisayarın yaptığı istekleri görebiliyordu.
İstemci tarafını tamamen çalıştıran bir uygulamanın, sunucu tarafında bir tür orta katman olmadan gizli veri parçalarını güvenli bir şekilde depolayabilmesinin bir yolu var mı?