2014-06-24 11 views
7

Sto utilizzando l'interfaccia router in un sito angolare che sto creando, ma non posso farlo per consentire i percorsi verso il mio server. Ho l'autenticazione di Facebook oauth sul mio server, dove navighi su /auth/facebook e il server reindirizzerà a fb, intercettando la richiamata e reindirizzando il client sulla home page.UI-router Angularjs che blocca l'accesso alle route non statiche

Funziona correttamente quando si naviga nell'URL /auth/facebook in un browser funziona correttamente, ma il router ui-router controlla la posizione e intercetta tutte le mie modifiche di posizione.

Qualche idea su come posso effettuare una richiesta di url ignorare l'istruzione $urlRouterProvider.otherwise(...) per consentire il passaggio al mio server API? Ho provato ad aggiungere reindirizzamenti di route con il provider del router, ma non attiverà una chiamata remota.

+0

Qual è l'URL completo in entrambi i casi. – Jorg

+0

è un URL locale, quindi ora sono su un server di sviluppo, quindi gli stati del router http: // localhost: 9000/auth/facebook sono nella forma 'http: // localhost: 9000/about'. Inoltre, funziona bene se ho solo disabilitare la modalità html5. – mrosales

+0

Sì, la modalità HTML5 sarebbe stata la mia prossima domanda. Angular rimuove l'hash bang, trasformando 'index.html #/about/facebook' in'/about/facebook'. Se desideri mantenerlo, potresti essere in grado di fare qualcosa con accesso lato server come htaccess. Altrimenti, forse gli angolars onroutechange events? – Jorg

risposta

6

Grazie ai ragazzi di angular-dart: Come soluzione alternativa si potrebbe creare un gestore ng-click che fa window.location.assign('/auth/facebook') di bypassare il router

+0

utilizzando 'ng-click' non funzionava per me quindi ho appena fatto' ng-click' chiamare una funzione sul mio scope che ha chiamato '$ window.location.assign ('/ auth /' + provider);' – mrosales

Problemi correlati