【问题标题】:Ui-Router 404 when redirecting with ADAL使用 ADAL 重定向时的 Ui-Router 404
【发布时间】:2015-06-08 07:43:06
【问题描述】:

我目前正在尝试将 Azure 目录身份验证库 (ADAL.JS) 挂接到 UI-Router。我已经把它连线了,它重定向正确,但它总是在重定向之前抛出一个 404。重定向有效,然后被发送回我的应用程序,显示 404。

我已经像这样修改了状态:

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

我已经让它与普通的 Angular RouteProvider 一起工作,并且没有抛出 404。

我正在尝试使用的应用程序是由 John Papas Yo Hot Towel 生成器生成的。

【问题讨论】:

  • 我正在尝试做同样的事情 - 将 ADAL 集成到 HotTowel 中。你解决了吗?

标签: angularjs angular-ui-router hottowel adal


【解决方案1】:

这看起来像是 adal.js 中的一个错误。 ui-router 正在使用状态更改。与路由更改处理程序相比,我发现为状态更改设置起始页的一个区别。应该是:

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

而不是

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

【讨论】:

  • 谢谢,我会尝试在本地修改,看看效果如何:)
  • 所以我有一个剧本,但没有奏效。感谢您的建议。
【解决方案2】:

我可以确认此问题已在当前版本 1.0.4 中得到解决,感谢 Omer Cansizoglu,我相信他是该库的作者。我在我的应用程序中成功使用了 Angular UI Router 和 Active Directory Authentication Library for JavaScript (ADALJS)。当未经身份验证的用户尝试访问 requireADLogin 标志设置为 true 的状态时,应用程序会正确重定向到 Azure Active Directory 登录页面。我在任何时候都没有收到 404。

请注意,在编写此库的 CDN 时,仅指向版本 1.0.0。不过bower.json文件已经更新,bower-install adal-angular会安装版本1.0.4

【讨论】:

  • 我刚刚在更新后再次尝试了该应用程序,但没有任何乐趣。你能分享一下你是如何将它连接到 Angular UI Router 中的吗?谢谢,约翰
【解决方案3】:

我用 adal v1.0.12 + ui-router v0.2.18 试过,但没有运气。似乎问题与 $locationProvider 哈希前缀有关。如此处所述:

3- 配置 HTML5 模式时,确保设置了 $locationProvider hashPrefix

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

...它就像一个魅力!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 2017-03-04
    • 2015-08-02
    相关资源
    最近更新 更多