使用Angular2对Azure AD进行身份验证

use*_*774 9 adal.js angular

我正在使用Angular2并希望针对Azure AD对用户进行身份验证.我找到了ADALjs,但它们只适用于Angular1,我也发现了这个https://www.npmjs.com/package/angular2-adal#adalService,但这似乎仍处于初始阶段.我可以采取什么样的方法来实现这一目标,有人可以提供一个有效的例子.

han*_*ans 0

要解决此问题,您需要执行以下操作:

npm install adal-angular --save        (=>"@types/adal": "^1.0.22")
npm install @types/adal --save-dev     (=>"adal-angular": "^1.0.12")
npm install expose-loader
Run Code Online (Sandbox Code Playgroud)

安装这些软件包后,您必须执行以下操作:
在 component.ts 中:

  1. 写一个三斜杠来导入输入
    /// <reference path="../../../node_modules/@types/adal/index.d.ts" />
  2. 导入 adal.js 并使用暴露加载器将其暴露为 AuthenticationContext
    import 'expose?AuthenticationContext!../../../node_modules/adal-angular/lib/adal.js';
  3. 声明 AuthenticationContextStatic 类型的变量并为其分配 AuthenticationContext 的值
    let createAuthContextFn: adal.AuthenticationContextStatic = AuthenticationContext;
  4. 现在您可以使用 createAuthContextFn 初始化身份验证上下文
    let config: adal.Config = { clientId : 'test' }; let context = new createAuthContextFn(config);

如何在 Angular 2 (Azure-AD) 内的 webpack 中加载 adal.js