I'm currently trying to hook in the Azure Directory Authentication Library (ADAL.JS) into UI-Router. I've got it wired in, and it redirects correctly, but it always chucks a 404 before the redirect. The redirect works, and then gets sent back to my application, which is showing the 404.
I've modified the state like so:
{
state: 'admin',
config: {
url: '/admin',
templateUrl: 'app/admin/admin.html',
controller: 'AdminController',
controllerAs: 'vm',
title: 'Admin',
settings: {
nav: 2,
content: '<i class="fa fa-lock"></i> Admin'
},
requireADLogin: true
}
I've got it working with the normal Angular RouteProvider, and no 404 is being thrown.
The application I'm attempting to plumb it into was generated by John Papas Yo Hot Towel generator.
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:
Active Directory Authentication Library (ADAL) for JavaScript
...and it worked like a charm!
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 therequireADLogin
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, thebower.json
file has been updated, andbower-install adal-angular
will install version1.0.4
.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 :
instead of