【问题标题】:AngularJS SPA Application Azure AD refresh during AuthenticationAngularJS SPA 应用程序 Azure AD 在身份验证期间刷新
【发布时间】:2023-03-14 07:16:01
【问题描述】:

我们正在尝试构建一个 Angular SPA 应用程序,该应用程序利用 adal.js 向 Azure AD 进行身份验证。但是,与包含静态路由的示例应用程序不同,它不需要身份验证,我们希望确定用户是否经过身份验证并根据“userInfo.isAuthenticated”相应地路由用户,但是当通过使用 ng-if on 采取这种方法时我们被正确重定向到登录的索引页面,但是在输入您的登录凭据后,我们似乎出现了一个循环,在应用程序登录过程中发生了一到三次。有没有人有使用 ADAL 的解决方案。 js 和 ADAL-angular.js 在范围级别拦截“IsAuthenticating”属性以避免此问题?

谢谢,

【问题讨论】:

    标签: angularjs authentication single-page-application azure-active-directory adal


    【解决方案1】:

    你能提供一些示例代码吗?我不清楚你的情况。您只是想在页面上显示/隐藏链接吗?示例应用使用 ng-show 使用 userInfo.isAuthenticated。您是否在此页面上使用 ng-if 并且无法正常工作?我希望它们对 ng-show 和 ng-if 的工作类似,因为它检查布尔值。

    <div class="navbar-collapse collapse">
                    <ul class="nav navbar-nav">
                        <li ng-class="{ active: isActive('/Home') }"><a href="#/Home">Home</a></li>
                        <li ng-class="{ active: isActive('/TodoList') }"><a href="#/TodoList">Todo List</a></li>
                        <li ng-class="{ active: isActive('/UserData') }"><a href="#/UserData" ng-show="userInfo.isAuthenticated">User</a></li>
                    </ul>
                    <ul class="nav navbar-nav navbar-right">
                        <li><a class="btn btn-link" ng-show="userInfo.isAuthenticated" ng-click="logout()">Logout</a></li>
                        <li><a class="btn btn-link" ng-hide=" userInfo.isAuthenticated" ng-click="login()">Login</a></li>
                    </ul>
                </div>
    

    示例:https://github.com/AzureADSamples/SinglePageApp-AngularJS-DotNet/blob/master/TodoSPA/index.html

    【讨论】:

      猜你喜欢
      • 2014-06-09
      • 1970-01-01
      • 2021-01-03
      • 2019-05-28
      • 2022-10-25
      • 1970-01-01
      • 2019-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多