前言
ng2-adal-aot是一个用于Angular 2.0项目的轻量级库,它提供了Microsoft Azure Active Directory身份验证支持。该库使得构建安全和可维护应用程序变得容易,并且在许多方面减少了开发时间和资源的开销。
安装
要安装ng2-adal-aot,你需要:
- 安装Node.js和npm;
- 在你的Angular 2.0项目根目录下使用npm安装该库:
npm install ng2-adal-aot --save
使用示例
- 在你的app.module.ts中引入AdalService和AdalGuard。
-- -------------------- ---- ------- ------ - -------- - ---- ---------------- ------ - ------------- - ---- ---------------------------- ------ - ------------ - ---- ------------------ ------ - ------------ --------- - ---- --------------- ----------- -------- - ------------- -- ------------- - ------------ -- ---------- - ------------ --------- -- ---------- - ------------ - -- ------ ----- --------- - -
- 在你的app.component.ts中添加AdalService依赖注入,并初始化AdalService。
-- -------------------- ---- ------- ------ - --------- - ---- ---------------- ------ - ----------- - ---- --------------- ------------ --------- --------- --------- -------------------- -- ------ ----- ------------ - ------ ------ - --- ----- ------------------- ------------ ------------ - ----------------------- ------- ------------------------ --------- ------------------------ ------------ ---------------------- - ---- ---------------------- ---------------------- - ---- -------------- -------------- --- - -
- 在你的路由中使用AdalGuard。
import { Routes, RouterModule } from '@angular/router'; import { AdalGuard } from 'ng2-adal-aot'; const appRoutes: Routes = [ { path: 'my-route', component: MyComponent, canActivate: [AdalGuard] } ]; export const routing = RouterModule.forRoot(appRoutes);
深入理解
AdalService
AdalService提供了与Azure Active Directory操作相关的方法,在上面的示例中,我们使用了init方法来初始化AdalService。
初始化过程可以传入以下配置选项:
- tenant: 必须。你的Azure Active Directory租户ID。
- clientId: 必须。在Azure Active Directory中注册应用程序时所获取的客户端ID。
- redirectUri: 必须。鉴权成功后重定向的URI。
- postLogoutRedirectUri: 可选。用户退出登录后重定向的URI。
- cacheLocation: 可选。设置缓存位置,可选localStorage或sessionStorage,默认localStorage。
AdalService还提供了其他一些方法,例如login()、logout()、getUser()等。
AdalGuard
AdalGuard是一个Angular 2.0路由守卫,用于检查用户是否已经通过身份验证。在示例中,我们使用了canActivate选项来指向AdalGuard。
示例代码
完整的示例代码可以在ng2-adal-aot的GitHub仓库中找到:https://github.com/lifeonplanetearth/ng2-adal-aot
结论
ng2-adal-aot简化了与Azure Active Directory身份验证的集成,使得安全和可维护应用程序的构建变得容易。通过AdalService和AdalGuard提供的方法和选项,可以更好地控制和管理您的应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600559e181e8991b448d76b6