Ui-Router 404 when redirecting with ADAL

假装没事ソ 提交于 2019-12-05 08:45:35

This looks like a bug in adal.js. ui-router is using state changes. I see one difference in setting the start page for state changes comparing to the route change handler. It should be :

_adal._saveItem(_adal.CONSTANTS.STORAGE.START_PAGE, $location.$$path);

instead of

_adal._saveItem(_adal.CONSTANTS.STORAGE.START_PAGE, nextRoute.url);
Blake Mumford

I can confirm that this issue has been resolved in current release 1.0.4, thanks to Omer Cansizoglu, who I believe is author of the library. I am using Angular UI Router in my app with Active Directory Authentication Library for JavaScript (ADALJS) successfully. The app correctly redirects to Azure Active Directory login page when an unauthenticated user attempts to visit a state with the requireADLogin flag set to true. I do not get a 404 at any point.

Note that at time of writing the CDN for this library only points to version 1.0.0. However, the bower.json file has been updated, and bower-install adal-angular will install version 1.0.4.

I tried it with adal v1.0.12 + ui-router v0.2.18 but no luck. Seems like the issue is related to the $locationProvider hashprefix. As stated here:

3- When HTML5 mode is configured, ensure the $locationProvider hashPrefix is set

// using '!' as the hashPrefix but can be a character of your choosing
app.config(['$locationProvider', function($locationProvider) {
    $locationProvider.html5Mode(true).hashPrefix('!');
}]);

Active Directory Authentication Library (ADAL) for JavaScript

...and it worked like a charm!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!