mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-16 19:09:18 +08:00
Definitions for ADAL.JS
This commit is contained in:
46
adal-angular/adal-angular-tests.ts
Normal file
46
adal-angular/adal-angular-tests.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
/// <reference path="adal-angular.d.ts" />
|
||||
|
||||
// Code samples from:
|
||||
// - https://github.com/AzureAD/azure-activedirectory-library-for-js
|
||||
// - https://github.com/Azure-Samples/active-directory-angularjs-singlepageapp
|
||||
|
||||
// Variable provided by AngularJS
|
||||
var $httpProvider: angular.IHttpProvider = null;
|
||||
var adalAuthenticationServiceProvider: adal.AdalAuthenticationServiceProvider = null;
|
||||
var adalAuthenticationService: adal.AdalAuthenticationService = null;
|
||||
|
||||
var endpoints = {
|
||||
"https://yourhost/api": "b6a68585-5287-45b2-ba82-383ba1f60932",
|
||||
};
|
||||
adalAuthenticationServiceProvider.init({
|
||||
tenant: "52d4b072-9470-49fb-8721-bc3a1c9912a1",
|
||||
clientId: "e9a5a8b6-8af7-4719-9821-0deef255f68e",
|
||||
endpoints: endpoints
|
||||
},
|
||||
$httpProvider
|
||||
);
|
||||
|
||||
adalAuthenticationServiceProvider.init({
|
||||
clientId: "e9a5a8b6-8af7-4719-9821-0deef255f68e"
|
||||
},
|
||||
$httpProvider
|
||||
);
|
||||
|
||||
adalAuthenticationServiceProvider.init(
|
||||
{
|
||||
clientId: 'cb68f72f...',
|
||||
cacheLocation: 'localStorage'
|
||||
},
|
||||
$httpProvider // pass http provider to inject request interceptor to attach tokens
|
||||
);
|
||||
|
||||
adalAuthenticationServiceProvider.init({
|
||||
tenant: 'Enter your tenant name here e.g. contoso.onmicrosoft.com',
|
||||
clientId: 'Enter your client ID here e.g. e9a5a8b6-8af7-4719-9821-0deef255f68e',
|
||||
extraQueryParameter: 'nux=1'
|
||||
},
|
||||
$httpProvider
|
||||
);
|
||||
|
||||
adalAuthenticationService.login();
|
||||
adalAuthenticationService.logOut();
|
||||
40
adal-angular/adal-angular.d.ts
vendored
Normal file
40
adal-angular/adal-angular.d.ts
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
// Type definitions for Active Directory Authentication Library (ADAL) for JavaScript 1.0.8
|
||||
// Project: https://github.com/AzureAD/azure-activedirectory-library-for-js
|
||||
// Definitions by: mmaitre314 <https://github.com/mmaitre314>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference path="adal.d.ts" />
|
||||
/// <reference path="../angularjs/angular.d.ts" />
|
||||
|
||||
declare namespace adal {
|
||||
|
||||
interface AdalAuthenticationServiceProvider {
|
||||
init(configOptions: Config, httpProvider: angular.IHttpProvider): void;
|
||||
}
|
||||
|
||||
interface UserInfo {
|
||||
isAuthenticated: boolean,
|
||||
userName: string,
|
||||
loginError: string,
|
||||
profile: any
|
||||
}
|
||||
|
||||
interface AdalAuthenticationService {
|
||||
|
||||
config: Config;
|
||||
userInfo: UserInfo,
|
||||
|
||||
login(): void;
|
||||
loginInProgress(): boolean;
|
||||
logOut(): void;
|
||||
getCachedToken(resource: string): string;
|
||||
acquireToken(resource: string): angular.IPromise<string>;
|
||||
getUser(): angular.IPromise<User>;
|
||||
getResourceForEndpoint(endpoint: string): string,
|
||||
clearCache(): void;
|
||||
clearCacheForResource(resource: string): void;
|
||||
info(message: string): void;
|
||||
verbose(message: string): void;
|
||||
}
|
||||
|
||||
}
|
||||
15
adal-angular/adal-tests.ts
Normal file
15
adal-angular/adal-tests.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
/// <reference path="adal.d.ts" />
|
||||
|
||||
var endpoints = {
|
||||
"https://yourhost/api": "b6a68585-5287-45b2-ba82-383ba1f60932",
|
||||
};
|
||||
|
||||
var config : adal.Config = {
|
||||
tenant: "52d4b072-9470-49fb-8721-bc3a1c9912a1", // Optional by default, it sends common
|
||||
clientId: "e9a5a8b6-8af7-4719-9821-0deef255f68e", // Required
|
||||
endpoints: endpoints // If you need to send CORS api requests.
|
||||
};
|
||||
|
||||
var auth = new AuthenticationContext(config);
|
||||
|
||||
var userName: string = auth.getCachedUser().userName;
|
||||
146
adal-angular/adal.d.ts
vendored
Normal file
146
adal-angular/adal.d.ts
vendored
Normal file
@@ -0,0 +1,146 @@
|
||||
// Type definitions for Active Directory Authentication Library (ADAL) for JavaScript 1.0.8
|
||||
// Project: https://github.com/AzureAD/azure-activedirectory-library-for-js
|
||||
// Definitions by: mmaitre314 <https://github.com/mmaitre314>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
declare var AuthenticationContext: adal.AuthenticationContextStatic;
|
||||
|
||||
declare module 'adal' {
|
||||
export = AuthenticationContext;
|
||||
}
|
||||
|
||||
declare namespace adal {
|
||||
|
||||
interface Config {
|
||||
tenant?: string,
|
||||
clientId: string,
|
||||
redirectUri?: string,
|
||||
cacheLocation?: string,
|
||||
displayCall?: (urlNavigate: string) => any,
|
||||
correlationId?: string,
|
||||
loginResource?: string,
|
||||
resource?: string
|
||||
endpoints?: any // If you need to send CORS api requests.
|
||||
extraQueryParameter?: string
|
||||
}
|
||||
|
||||
interface User {
|
||||
userName: string,
|
||||
profile: any
|
||||
}
|
||||
|
||||
interface RequestInfo {
|
||||
valid: boolean,
|
||||
parameters: any,
|
||||
stateMatch: boolean,
|
||||
stateResponse: string,
|
||||
requestType: string
|
||||
}
|
||||
|
||||
interface AuthenticationContextStatic {
|
||||
new (config: Config): AuthenticationContext;
|
||||
}
|
||||
|
||||
interface AuthenticationContext {
|
||||
|
||||
instance: string;
|
||||
config: Config;
|
||||
|
||||
/**
|
||||
* Gets initial Idtoken for the app backend
|
||||
* Saves the resulting Idtoken in localStorage.
|
||||
*/
|
||||
login(): void;
|
||||
loginInProgress(): boolean;
|
||||
|
||||
/**
|
||||
* Gets token for the specified resource from local storage cache
|
||||
* @param {string} resource A URI that identifies the resource for which the token is valid.
|
||||
* @returns {string} token if exists and not expired or null
|
||||
*/
|
||||
getCachedToken(resource: string): string;
|
||||
|
||||
/**
|
||||
* Retrieves and parse idToken from localstorage
|
||||
* @returns {User} user object
|
||||
*/
|
||||
getCachedUser(): User;
|
||||
|
||||
registerCallback(expectedState: string, resource: string, callback: (message: string, token: string) => any): void;
|
||||
|
||||
/**
|
||||
* Acquire token from cache if not expired and available. Acquires token from iframe if expired.
|
||||
* @param {string} resource ResourceUri identifying the target resource
|
||||
* @param {requestCallback} callback
|
||||
*/
|
||||
acquireToken(resource: string, callback: (message: string, token: string) => any): void;
|
||||
|
||||
/**
|
||||
* Redirect the Browser to Azure AD Authorization endpoint
|
||||
* @param {string} urlNavigate The authorization request url
|
||||
*/
|
||||
promptUser(urlNavigate: string): void;
|
||||
|
||||
/**
|
||||
* Clear cache items.
|
||||
*/
|
||||
clearCache(): void;
|
||||
|
||||
/**
|
||||
* Clear cache items for a resource.
|
||||
*/
|
||||
clearCacheForResource(resource: string): void;
|
||||
|
||||
/**
|
||||
* Logout user will redirect page to logout endpoint.
|
||||
* After logout, it will redirect to post_logout page if provided.
|
||||
*/
|
||||
logOut(): void;
|
||||
|
||||
/**
|
||||
* Gets a user profile
|
||||
* @param {requestCallback} callback - The callback that handles the response.
|
||||
*/
|
||||
getUser(callback: (message: string, user?: User) => any): void;
|
||||
|
||||
/**
|
||||
* Checks if hash contains access token or id token or error_description
|
||||
* @param {string} hash - Hash passed from redirect page
|
||||
* @returns {Boolean}
|
||||
*/
|
||||
isCallback(hash: string): boolean;
|
||||
|
||||
/**
|
||||
* Gets login error
|
||||
* @returns {string} error message related to login
|
||||
*/
|
||||
getLoginError(): string;
|
||||
|
||||
/**
|
||||
* Gets requestInfo from given hash.
|
||||
* @returns {string} error message related to login
|
||||
*/
|
||||
getRequestInfo(hash: string): string;
|
||||
|
||||
/**
|
||||
* Saves token from hash that is received from redirect.
|
||||
*/
|
||||
saveTokenFromHash(requestInfo: RequestInfo): void;
|
||||
|
||||
/**
|
||||
* Gets resource for given endpoint if mapping is provided with config.
|
||||
* @param {string} endpoint - API endpoint
|
||||
* @returns {string} resource for this API endpoint
|
||||
*/
|
||||
getResourceForEndpoint(endpoint: string): string;
|
||||
|
||||
handleWindowCallback(): void;
|
||||
|
||||
log(level: number, message: string, error: any): void;
|
||||
error(message: string, error: any): void;
|
||||
warn(message: string): void;
|
||||
info(message: string): void;
|
||||
verbose(message: string): void;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user