如何让ADFS响应有关用户电子邮件地址的查询

时间:2013-05-24 16:20:50

标签: saml adfs

我在一家使用Microsoft Active Directory的公司工作。我们有一家外部公司,为特定项目提供内部网站。该网站是公司的外部。登录外部站点是用户的公司电子邮件。

我们需要一个系统,外部网站会调用组织的AD来验证电子邮件地址是否仍然有效,或者用户是否已离开公司。它应该是对Active Directory联合身份验证服务或某种SAML接口的简单调用。电话会是一个简单的请求'这是一封电子邮件,它有效吗?'并且回答是是或否。

我们的IT部门正试图告诉我们它太复杂了,我不相信它们。我认为他们只是不想这样做。

有谁知道创建一个允许外部服务进行上述查询的简单系统是多么容易。

2 个答案:

答案 0 :(得分:2)

ADFS并不打算这样做。但是,使用它的副产品将是您正在寻找的验证。

第一个问题是:您的应用的身份验证方法是什么?电子邮件还有什么?密码?哪个密码?该应用程序是否保留用户/密码数据库?

ADFS作为“身份提供者”工作,并将在AD中对用户进行身份验证。 ADFS将提供可由您的应用程序使用的安全令牌。安全令牌中发送的部分信息很可能(通常是)用户的电子邮件地址(这就是“副产品”的原因)。

要使其正常工作,必须更改应用以接受安全令牌(SAML令牌具体)。如果应用程序是基于.NET的,那么通常使用WIF(WIndows Identity Foundation)完成。

这种方法将是最优雅和最安全的,因为应用程序会将用户身份验证的责任委托给这些员工的权限:AD。

App - 信任 - > ADFS --authenticates - > AD

设置ADFS等并不是一件非常困难的事情,但它也不是非常简单,并且可能不值得这个应用程序。还有其他更轻量级的选择:开源产品,如Identity Server,或products,就像我工作的那样。

现在,如果您需要做的就是验证电子邮件是否确实存在,那么最好是使用用户发回的一些唯一代码向该地址发送验证消息。这与许多常见Web应用程序中使用的方法相同。

答案 1 :(得分:0)

同意@Eugenio所说的一切 - 有关于身份验证的相同问题。

但是,如果您只想让代码在AD中查询用户的电子邮件地址,则可以使用AD API's