Inside my NG2 project, if I write:
import adal from 'adal-angular';
it gives me 'adal is undefined'. Why is that?
I want to use adal.js inside my angular 2 project.
I already have run
npm install adal-angular --save
npm install @types/adal --save
Then, inside my component.ts file, if I do:
import adal from 'adal-angular';
adal is undefined.
How can I import it correctly inside my component.ts file, and also use the typings?
To fix this, you will need to do a number of things:
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
With those packages installed, you have to do the following:
inside your component.ts:
/// <reference path="../../../node_modules/@types/adal/index.d.ts" />
import 'expose?AuthenticationContext!../../../node_modules/adal-angular/lib/adal.js';
let createAuthContextFn: adal.AuthenticationContextStatic = AuthenticationContext;
Now you can initialize the authentication context using the createAuthContextFnlet config: adal.Config = { clientId : 'test' };
let context = new createAuthContextFn(config);
(Optionally) To handle the callback from AD, write this piece of code inside your bootstrapped component aka AppComponent:if (context.isCallback(location.hash)) {
var requestInfo = context.getRequestInfo(location.hash);
context.saveTokenFromHash(requestInfo);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With