gpt4 book ai didi

angularjs - Adal & Adal-Angular - 刷新 token 无限循环

转载 作者:行者123 更新时间:2023-12-02 07:12:33 24 4
gpt4 key购买 nike

我已经使用 SPA 应用程序设置了 adal 和 adal-Angular v.1.0.10 库,并取得了巨大的成功。我正在使用 webpack,但在我的 html 页面中引用这些,希望避免全局范围问题(尽管我希望它成为依赖项)。一切正常,直到浏览器尝试打开 iframe 来获取刷新 token ,并且每个 iframe 都会在其内部打开另一个 iframe。它没有记录任何错误,而且我找不到关于我做错了什么的解释。因此,我被迫只能在新的隐身浏览器中运行该应用程序。我什至希望能解释一下为什么会发生这种情况,因为我们已经与 Azure AD 紧密结合。

index.html 的相关部分

<md-button aria-label="Login" ng-if="!userInfo.isAuthenticated" ng-click="login()">
Login
</md-button>

<script src="build/app.bundle.js" charset="utf-8"></script>
<script src="Scripts/adal.min.js" charset="utf-8"></script>
<script src="Scripts/adal-angular.min.js" charset="utf-8"></script>

我的app.js

angular.module('myApp', ['AdalAngular', require('angular-route'), require('angular-animate'), require('angular-sanitize'), 'ngCookies', etc..])
.config(['$routeProvider', '$locationProvider', '$mdThemingProvider', '$httpProvider', 'adalAuthenticationServiceProvider',
function ($routeProvider, $locationProvider, $mdThemingProvider, $httpProvider, adalProvider) {

// azure ad init
adalProvider.init({
instance: 'https://login.microsoftonline.com/',
tenant: TENANT,
clientId: CLIENTID,
cacheLocation: 'localStorage',
anonymousEndpoints: []
},
$httpProvider
);

$routeProvider
.when('/home', {
templateUrl: '/App/Layout/home.html'
})
.when('/admin', {
templateUrl: '/App/Admin/admin.html',
requireADLogin: true
})
etc...

$locationProvider.html5Mode(true).hashPrefix('!');

}]);

最佳答案

经过 GitHub 上的一系列长时间讨论,我注意到这是 adal.js 中 AuthenticationContext 的问题。它在尝试进行身份验证时不断打开 iframe,从而导致无限循环。我通过公开 AuthenticationContext 让它工作。

var AuthenticationContext = require('expose?AuthenticationContext!./../Scripts/adal.js');
require('./../Scripts/adal-angular.js');

这可能仅适用于 0.3.0 版本的库。但现在已经足够了。希望他们将来能够修改该库,使其与现代 js 应用程序更加兼容。

关于angularjs - Adal & Adal-Angular - 刷新 token 无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37211367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com