UI yönlendiricili AngularJS'de geliştirilmiş bir ön uç var. REST API'sini arka uçtan tüketmek için bir OAuth2 erişim belirteci (örtük hibe) almam gerekiyor. Ben yönlendirme URI olmak urlOAuth2 access_token ile AngularJS ui yönlendirici çakışmaları
mydomain.com/home/#access_token=hdzjkdnba89fenbjkéz38U0D903ç&...
mydomain.com/home
token geri kimlik doğrulama sunucusundan erişim elde zaman
Benim sorunum Açıkçası, OAuth dans son adımda yatmaktadır. Yeniden yönlendirme sonra saniyenin sadece bir kısmını
, angularjs
mydomain.com/#/my-default-view
ve sonuç erişim belirteci URL'den silinir gibi bir şey URL'yi değiştirir. Şimdi
birkaç nokta:
- benim OAuth2 istemci için bir karma ('#') içeren bir yönlendirme URI tanımlamak için izin verilmedi. Dolayısıyla,
mydomain.com/#/auth-complete/
gibi bir şey değil olur. $routeProvider.otherwise('/')
kullanıyorum.- Ortadaki '#' öğesini kaldırmak için
$locationProvider.html5Mode(true);
'u ayarlamayı denedim ancak sorun aynı (URL ve erişim belirteci yeniden yönlendirme işleminden hemen sonra silinir). - URL, Angular tarafından değiştirildikten sonra bile HTTP yanıtında erişim belirtecine hala erişilebildiğinden, büyük olasılıkla bir
$http
ara kesicisi kullanabilirdim, ancak bu genel görev için biraz fazla geliyor değil mi?
Herhangi bir öneri? Bu seferki İstemci tarafı Uygulamaları için OAuth2 sağlayıcısı olarak Google ile benim için çalışıyor
Muhtemelen, yetkili URL için eşleşme durumunuz olmayabilir. $ RouteProvider.otherwise ('/') değeriniz olduğundan, benzersiz URL modelleri web sitesinin kök dizinine yönlendirilir. – erandac
Ancak, isteğe bağlı bir belirteç içeren bir URL'yi nasıl eşleştirebilirim? "Eğer url 'access_token' içeriyorsa, hiçbir şey yapmayın" demek için regex gibi bir şey kullanmak mümkün mü? – Buddyshot
Evet, regex eşlemesine sahip olabilirsiniz. Buradaki belgelere bakın https://github.com/angular-ui/ui-router/wiki/URL-Sonraki – erandac