如果與Angular或其他JavaScript框架集成,Google Identity Toolkit工作流會產生問題。GITK與Angular 2在使用片段的重定向方面存在問題(#hash)
Angular使用URL片段(#)在視圖間導航。也可以使用HTML5風格進行導航並避免使用散列,但不幸的是Angular 2在正確處理碎片時存在問題,https://github.com/angular/angular/issues/6595。
因爲URL片段內部使用的角度和類似的框架是防止GITK在某些情況下正常工作:
期間,如果用戶成功通過第三方授權唱歌,在服務用戶的登錄流程被重定向回GITK小部件頁面。
重定向URL將包含一個狀態參數。在Twitter或Facebook的情況下,狀態參數作爲查詢參數添加到URL(例如... login /?state = AFD_5tlxzU ...)。然而,其他服務(如Google帳戶)正在將狀態參數片段添加到重定向URL(例如... login /#state = AFD_5tlxzU ...)。
由於Angular使用URL片段進行瀏覽,重定向URL的狀態片段(例如... login /#state = AFD_5tlxzU ...)被框架刪除,阻止GITK小部件成功完成身份驗證。
是否有任何選項指示Google帳戶或GITK使用查詢參數而不是片段?此外,我想知道什麼是使用片段而不是查詢參數的重定向URL的理性?
只是想知道你是如何解決在ng2 ui路由器? –