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

时间:2016-07-21 05:52:11

标签: angular adal.js

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

2 个答案:

答案 0 :(得分:2)

这个答案可能已经很晚了,但是既然你问了一个例子,我已经修改了最新的Angular 2快速入门并将ADAL集成到其中,在这里:https://github.com/ranveeraggarwal/ng2-adal-QuickStart

它还具有路由和受保护的路由。

这使用systemjs,我还没有找到基于webpack的解决方案。

答案 1 :(得分: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

安装这些软件包后,您必须执行以下操作:
在你的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);
  5.   

    How to load adal.js in webpack inside Angular 2 (Azure-AD)