2016-03-12 48 views
1

我想實現一個谷歌登錄系統到我的Angular網站。我相信我已經正確地完成了配置過程,因爲Google的登錄頁面就像我告訴的那樣重定向到localhost/callback。這裏是我的控制器代碼:谷歌Oauth AngularJS回調沒有HTML5模式

.controller('LoginCtrl', ['$scope', function($scope) { 
    var clientid = "client id from developer console"; 
    var redirect = "http://localhost/callback"; 
    var scope = "profile%20email"; 
    var prompt = "select_account"; 

    var req = window.open('https://accounts.google.com/o/oauth2/v2/auth?client_id='+ 
      clientid+'&response_type=code&redirect_uri='+redirect+'&scope='+scope+ 
      '&prompt='+prompt); 
}]) 

如果不啓用HTML5模式,我不知道如何讓我的應用程序響應請求到localhost /回調,只有本地主機/#/回調,但在谷歌開發者控制檯我不能將「#」符號放入重定向URI中。

有沒有方法可以使角度響應沒有/#/的請求,而不需要將應用程序置於html5模式?或者,有什麼方法可以讓Google Developer Console中的localhost /#/ callback成爲有效的重定向URI?

+0

與任何運氣? –

+0

你解決了這個問題嗎?面對同樣的事情。 – Mdumanoj

回答

0

你可以嘗試編碼網址,這樣#字符最終成爲#%23

+0

在允許的重定向URI中將「#」更改爲「%23」可以防止Google阻止我將其保存在開發者控制檯中,但是當我實際上以用戶身份發出登錄請求時,它給了我關於URI片段的同樣錯誤 –