介绍
Microsoft Azure Active Directory Authentication Library for AngularJS (adal-angular) 是一个用于帮助 AngularJS 应用程序与 Microsoft Azure Active Directory 进行身份验证的 npm 包。
在此文章中,我们将探讨 adal-angular 的基本用法,实现单页应用程序的密码认证和刷新令牌,并介绍 adal-angular 的重要功能,例如获取用户信息、注销和 Azure AD B2C 等。
基本使用示例
我们将演示如何在一个基本的 AngularJS 应用程序中使用 adal-angular 进行密码认证和刷新令牌。
- 在项目中安装 adal-angular:
npm install adal-angular --save
- 配置 adalAuthenticationServiceProvider:
-- -------------------- ---- ------- ---------------------------- ------------------------------------ -------- --------------- ------------- - --- --------- - - ---------------------------- --------------------------- -- ------------------- --------- ------------------------------------- ------- ------ --------- --------- ------ ------ ----- -------------------- -------- ---------- --------- -- --------------- -- --------- --- ------- ------- ---- ----- ------- -------- -- ------------- ---------------------------------- - -- - ------ ----
展开代码 - 在需要使用身份验证的路由中添加 requireADLogin 限制:
$routeProvider.when('/', { templateUrl: 'home.html', controller: 'homeCtrl', requireADLogin: true });
- 在需要获得令牌访问的资源上添加 adalAuthenticationService.acquireToken(resource):
adalAuthenticationService.acquireToken('http://localhost:3000/api').then(function (token) { // use token to access the resource });
获取用户信息
adal-angular 使得从 Microsoft Azure Active Directory 中获取用户信息变得十分简单。您只需要一行代码:
$http.get('https://graph.windows.net/me?api-version=1.6', { headers: { Authorization: 'Bearer ' + adalAuthenticationService.getCachedToken('https://graph.windows.net/') } });
该代码将返回当前登录的用户的详细信息。
注销
在 adal-angular 中,注销是一个简单的呼叫:
adalAuthenticationService.logOut();
该代码将删除用户的身份验证缓存并跳转到 Azure AD 登录页。
Azure AD B2C
Azure AD B2C 让开发人员可以将身份验证集成到其应用程序中,而无需编写或部署任何身份验证代码。而 adal-angular 也提供了对 Azure AD B2C 的支持。
您只需要在 adalProvider.init() 中添加 policy 属性即可:
adalProvider.init({ instance: 'https://[YourTenant].b2clogin.com/tfp/', tenant: '[YourTenant].onmicrosoft.com', clientId: '[YourClientId]', policy: '[YourPolicy]', signUpSignInPolicy: '[YourSignUpSignInPolicy]', endpoints: endpoints }, $httpProvider);
其中 policy 为您的自定义策略名称,signUpSignInPolicy 为 Azure AD B2C 登录策略名称。
结论
在本文中,我们介绍了 npm 包 adal-angular 的基本用法。不仅如此,我们还深入探讨了 adal-angular 的重要功能,例如获取用户信息、注销和 Azure AD B2C 等。希望本文能够帮助你更好地理解 adal-angular 的使用方法及其在身份验证方面的作用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/adal-presents