好的,所以正确的答案是肯定使用config.displayCall ..但是displayCall是在app.config中配置adal-angular,这几乎使得它不可能真正用在角度..所以这里有几个代码调整你可以添加到阿达尔棱角,这样你也可以采取控制(如果需要)..
1)在你的软件中添加以下VAR /功能(我做到了围绕48行)
var internalDisplayCall = function (url) {
if (userDefinedDisplayCall) {
userDefinedDisplayCall(url);
} else {
if (_adal.popUp) {
_adal._loginPopup(url);
}
else {
_adal.promptUser(url);
}
}
}
这与adal中关于是否存在displayCall方法的逻辑几乎相同。
2)添加一个变种为userDefinedDisplayCall大约在同一区域
var userDefinedDisplayCall = undefined;
3)你需要的背景下,因为没有行为“通过落”到displayCall使用在阿达尔默认行为(或在我副本如何行事),所以将其添加到返回对象中的提供程序中。 (我这样做是围绕线390)
context: _adal,
4)添加一个方法来设置userDefinedDisplayCall方法和添加到您的返回对象以及..我没有在返回的对象是内联,如此反复左右线390
setDisplayCall: function (newDisplayCall) {
if (newDisplayCall && typeof newDisplayCall !== 'function') {
throw new Error('displayCall is not a function');
}
userDefinedDisplayCall = newDisplayCall;
}
现在你可以用你的蔚蓝AD租户,你的appid配置的app.config你adalServiceProvider,而且要求所有的爵士乐,那么您可以在app.run注入adalService和配置displayCall所以你可以注入你的自己的行为...
你可以扩大本地ca存储? –
因此,本地缓存将是用户在离线时进行的活动,使用用户“pin”对本地存储进行加密,然后存储用于离线身份验证的引脚散列......从ADAL角度来看,我只想知道是否存在是一种“伪装”的方式,关于用户登录和当它的在线时......我已经阅读了一些使用displayCall的东西..但是,这只适用于如果你有上下文,你没有访问通过adal-angular模块成角度。 –
仍然有一点问题的理解,但我可以说到displayCall。在重定向和激活身份验证请求之前调用login()时,使用displayCall将控制权交给应用程序。基本上,你会提供一个回调,ADAL.js会做这件事,并在开始请求之前停下来,并将你的应用程序传递给构建的auth URL。然后,您的应用程序可以修改/附加/删除任何一部分,然后手动完成请求。 [检出这个github问题](https:// github。com/AzureAD/azure-activedirectory-library-for-js/issues/462)来配置代码步骤。 –