UWP JS应用程序中的AuthenticationContext.createAsync vs AuthenticationContext构造函数

时间:2017-09-03 08:35:23

标签: adal

我用JS / TypeScript编写的通用Windows应用程序使用(通过.winmd)旧的V2版本的Microsoft.IdentityModel.Clients.ActiveDirectory。在尝试迁移到最新的V2(Microsoft.IdentityModel.Clients.ActiveDirectory 2.29.0)版本时,我遇到了一个障碍,因为最新版本中的(破坏?)更改(我尝试使用相同结果的2.28) - 缺少任何类的构造函数AuthenticationContext。我没有看到构造函数,而是看到一个静态方法createAsync,它只有很少的重载,看起来像是那些前构造函数的逻辑等价物。
现在我被迫使用异步模式(promises)来创建AuthenticationContext的实例,它不适合我的应用程序设计,我首先创建一个上下文实例,存储它在一个类变量中然后调用上下文的方法acquireTokenAsync和一个属性tokenCache来读取/清除缓存以后这似乎不容易实现在最新的V2版本中看到的异步模式。

问题:

  1. 删除构造函数的原因是什么?
  2. 有没有一种很好的方法来创建AuthenticationContext的实例,然后从其他实例中调用它,与创建实例的实例相比, 功能?

2 个答案:

答案 0 :(得分:0)

通过JavaScript处理UWP的异步模式的唯一方法是使用 promise 对象,然后函数(参考Asynchronous programming)。

没有好办法处理这种情况,因为JavaScript正在单线程上执行。

答案 1 :(得分:0)

我意识到在JS UWP应用中处理AAD的正确方法是通过Web Account Manager