2014-08-31 8 views
17

Amacım, API Anahtarını belirterek istemci uygulamaları için API'ye erişimi kısıtlamaktır. Çeşitli hizmetler, API'larına, istekleri yerine getirmek için almanız gereken gizli Anahtar aracılığıyla erişmenizi sağlar.Django REST çerçevesine erişmek için gizli API anahtarı

Not: Bu, kullanıcı yetkisi ile ilgili değil.

Bunu django dinlenme çerçevesinde yapmak için herhangi bir basit çözüm var mı? Ya da sadece anahtarı istek başlığında iletmek ve sonra elle işlemek için?

Selamlar

+1

Bunu çözmeyi başardınız mı? Belki bir örnek paylaşabilir misin merak ediyorum? Teşekkür ederim. – Silko

cevap

16

Kullanım TokenAuthentication sınıfı here belirtildiği gibi çalışır.

Ayrıca, muhtemelen IsAuthenticated sınıfını kullanarak uygun izinleri de kurmak isteyeceksiniz.

Düzenle: Özür dileriz - gönderiyi tekrar okumanız, kullanıcı başına bir değil, genel bir gizli anahtar istediğiniz gibi görünüyor. İstek üstbilgisini kontrol eden ve mevcut değilse/doğru değilse bir custom permission class öneririm.

+7

Her şeyden önce, django-rest-framework gibi harika bir araç yarattığınız için çok teşekkürler :) Tam olarak aradığım şey gibi görünüyor. Özel izinleri uygulamaya çalışacağım ve buraya geri döneceğim. Tekrar teşekkürler :) –

+2

Bence @ArazAbishov FaceBooks API'sine benzer bir sistem kurmayı hedefliyor - kullanıcı için alternatif/uzantı - böylece "client" kendi sisteminde bir uygulama oluşturabilir, sonra istekleri adına gönderebilir kullanıcı tanımlı, ancak yine de uygulamalarına bağlı olarak, uygulamanın verildiği izinlerle sınırlıdır – Chozabu