2015-04-03 15 views
5

Tôi hiện đang cố gắng móc trong Thư mục Xác thực Thư mục Azure (ADAL.JS) vào Giao diện Người dùng-Bộ định tuyến. Tôi đã có nó trong dây, và nó chuyển hướng một cách chính xác, nhưng nó luôn luôn mâm cặp một 404 trước khi chuyển hướng. Chuyển hướng hoạt động, và sau đó được gửi trả lại cho ứng dụng của tôi, được hiển thị 404.Ui-Router 404 khi chuyển hướng với ADAL

Tôi đã sửa đổi tình trạng tương tự như vậy:

 { 
      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 
      } 

tôi đã nhận nó làm việc với RouteProvider góc bình thường và không có 404 nào bị ném.

Đơn đăng ký mà tôi đang cố gắng khắc phục được tạo bởi trình tạo Khăn nóng của John Papas Yo.

+0

Tôi đang cố gắng làm điều tương tự - tích hợp ADAL vào HotTowel. Bạn đã bao giờ giải quyết nó chưa? –

Trả lời

3

Điều này giống như một lỗi trong adal.js. ui-router đang sử dụng các thay đổi trạng thái. Tôi thấy một sự khác biệt trong việc thiết lập trang bắt đầu cho các thay đổi trạng thái so với trình xử lý thay đổi tuyến đường. Nó nên là:

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

thay vì

_adal._saveItem(_adal.CONSTANTS.STORAGE.START_PAGE, nextRoute.url); 
+0

Cảm ơn, tôi sẽ thử sửa đổi nó tại địa phương và xem cách tôi làm :) –

+0

Vì vậy, tôi đã có một vở kịch, và điều đó đã không làm việc. Cám ơn vì sự gợi ý. –

0

Tôi có thể khẳng định rằng vấn đề này đã được giải quyết trong phiên bản hiện tại 1.0.4, nhờ Omer Cansizoglu, người mà tôi tin là tác giả của thư viện. Tôi đang sử dụng Angular UI Router trong ứng dụng của tôi với Thư viện xác thực thư mục hoạt động cho JavaScript (ADALJS) thành công. Ứng dụng chuyển hướng chính xác đến trang đăng nhập Azure Active Directory khi người dùng chưa được xác thực cố gắng truy cập vào trạng thái có cờ requireADLogin được đặt thành true. Tôi không nhận được 404 bất kỳ lúc nào.

Lưu ý rằng tại thời điểm viết CDN cho thư viện này chỉ trỏ đến phiên bản 1.0.0. Tuy nhiên, tệp bower.json đã được cập nhật và bower-install adal-angular sẽ cài đặt phiên bản 1.0.4.

+0

Tôi vừa thử lại ứng dụng sau khi cập nhật nhưng không có niềm vui. Bạn có thể chia sẻ làm thế nào bạn đã plumbed nó vào Angular UI Router? Cảm ơn, John –

0

Tôi đã thử nó với adal v1.0.12 + ui-router v0.2.18 nhưng không may mắn. Dường như vấn đề có liên quan đến $ locationProvider hashprefix. Như đã trình bày ở đây:

3- Khi chế độ HTML5 được cấu hình, bảo đảm $ locationProvider hashPrefix được thiết lập

// 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

... và nó làm việc như một nét duyên dáng!

Các vấn đề liên quan