我们决定使用Angular 2作为我们新项目的框架.在试图处理事物的安全性方面,我找不到身份验证与很多的预置型 ADFS.有很多处理Azure AD,但这不是我们的选择.
有谁知道一种方法能够设置Angular 2成功验证ADFS?
您可以使用ng2-adal npm库成功实现此功能,您可以像为Azure AD实现它一样实现它,而是使用ADFS值填充secret-service.js的值,如下所示:
import { Injectable } from '@angular/core';
@Injectable()
export class AdfsSecretService {
private endpoints: any = {
'http://{your-website-url}/':
'http:/{the-service-provider-identifier}', // as registered in ADFS
};
public get adalConfig(): any {
return {
instance: 'https://{your.adfs.site}/',
tenant: 'adfs',
clientId: '{adfs-client-guid}',
redirectUri: window.location.origin + '/',
postLogoutRedirectUri: window.location.origin + '/',
endpoints: this.endpoints
};
}
}
Run Code Online (Sandbox Code Playgroud)
你可以在图书馆的自述文件部分找到一个例子的链接.
在ADFS端,您需要在ADFS下注册您的应用程序作为应用程序组,有关更多信息,请参阅此technet 文章
我的理解是,您通常会使用 ADAL 2.0 (ADAL JS) 来实现此目的。
但是,它使用 ADFS 3.0 不支持的 OAuth 隐式流。ADFS 2.1 及更低版本不支持 OAuth。但是,ADFS 4.0 (Server 2016) 支持它。
您可以通过桥接 IdentityServer 或 Auth0 来解决这个问题,例如使用 ADFS 验证 Angular.js。
不,我不为 Auth0 工作!
| 归档时间: |
|
| 查看次数: |
5661 次 |
| 最近记录: |