Django kullanarak arka uç ve önden açısal olarak bir web uygulaması oluşturuyorum. Django localhost:8000
çalışıyorkenDjango + Angular + Django-allauth
Açısal localhost:9000
bir Yeoman yığın çalışıyorsa ve açısal gelen Django portuna /api
tüm $http
aramaları yönlendirmek için grunt-contrib-proxy
kullanıyorum. Örneğin, eğer Angular localhost:9000/api/hello
için sorarsa, localhost:8000/api/hello
'a yönlendirilecek ve django buna hizmet edecektir.
Tüm Açısal isteği /api
yoluna hizmet vermek için Django Rest Framework
kurulumunu planlıyorum. Şimdiye kadar çok iyi.
Artık, üçüncü taraf hizmetlerine Oauth
kimlik doğrulaması yapmak için zaten yapılandırılmış ve çalışan bir Django-allauth
yüklemesini sahibim. Düz eski Django'yu kullanarak çalışır, ancak bu çalışmayı Angular ile nasıl birleştireceğimi bilmiyorum.
Akla gelen tek şey, django dinlenme çerçevesi aracılığıyla allauth
görünümlerini sunmaktı, ancak kimlik doğrulamasından sonra yeniden yönlendirme hakkında ne olacak? Aklımı etrafına dolamıyorum.
Bu yaklaşımın düşürülmesi ve Oauth kimlik doğrulamasının doğrudan önden yapılması (Açısal) daha mı iyidir?
DÜZENLEME: Ben hırıltı-contrib-vekil yılında Açısal
den
login
görünümü çağırmayı başardı
Ben hesap bağlamı eklendi ve kural yeniden ettik:context: ['/api', '/accounts'], rewrite: { '^/api': '/api', '^/account': '/accounts' }
Köşeli bir ajax araması yaptım, soran (Github için örneğin) allaluth giriş görünümü için:
(BlaBla tarafımdan eklenmiştir):XMLHttpRequest cannot load https://github.com/login/oauth/authorize?scope=&state=BlaBla&redirect…ub%2Flogin%2Fcallback%2F&response_type=code&client_id=BlaBlaBla. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9000' is therefore not allowed access. (index):1
$http.get('/accounts/github/login/?process=login')
sorun ben dönene olmasıdır. Ben Sen Django gönderdiği açısal istekte başlığına bir
Origin: http://localhost:9000
eklemem gerekiyor ben
Bu sorunla hiç bir yere gittiniz mi? Ben allahı kullanan bir projeyi açısal olarak hareket ettirmeye çalışıyorum ve bu benim en büyük yapıştırma noktam. –
@FergalMoran Hayır, şimdilik vazgeçtim. [Python Social Auth] 'a (https://github.com/omab/python-social-auth) + [Django Rest Framework]' e (http://www.django-rest-framework.org/) geçiş yaptım.[Bu blog gönderisini] (http://blog.wizer.fr/2013/11/angularjs-facebook-with-a-django-rest-api/) başlangıç noktası olarak kullandım, iyi şanslar! – Leonardo
Teşekkürler Leonardo, sanırım bu benim de gitmek zorunda olduğum yol. Bu blog yazısı harika görünüyor, teşekkürler! –