使用LiveID时从ACS获取输入电子邮件地址

时间:2011-10-04 11:14:30

标签: windows-live-id acs liveid

在使用Live ID时,是否可以通过使用$(InputValue)来连接ACS规则以使用$(InputValue)从ACS返回/通过用户的电子邮件地址?

我正在使用被动身份验证并被重定向到Live ID,但我想知道是否有任何方法可以从ACS连接可能获得InputValue电子邮件地址的规则

从我所看到的情况来看,我认为这可能是通过托管登录页面来实现的,但我希望能够以其他方式从ACS获得它。如果可能的话。

(我应该补充一点,目前的情况是在现有的ASP.Net应用程序之上实现Live ID身份验证,并在数据库后端提供用户身份和角色。)

与当前场景相关的额外信息:当前场景是一个具有自己的本土数据库身份验证安全模型的EXISTING系统。我尝试了各种方法来查看是否可以拦截用户的电子邮件地址,并最终决定执行此操作的可用方法是不可取的(在此特定方案中)。

在此方案中转换为Live ID身份验证的唯一合适且安全的模式是围绕您的应用程序构建注册系统,该系统允许现有用户注册其LiveID,然后将其带回您的应用程序以捕获其Live ID '的NameIdentifier'。

但是,鉴于任何未知用户都可以执行此操作,因此需要通过电子邮件或某种此类机制进行临时身份验证步骤,以验证正在使用的Live ID电子邮件地址。

我希望这对某人有帮助。

2 个答案:

答案 0 :(得分:1)

可能但需要一些自定义sts的代码:

https://gist.github.com/1867792

代码没有构建,并且不包含依赖项...但它主要基于移植到MVC4的早期thinktecture起始站点,并且上面显示了更改。

答案 1 :(得分:0)

不幸的是,在Windows Live中使用ACS时,无法获得任何可识别的声明。这是由于Windows Live用户隐私政策。

使用Windows直播,您只能获得您的信赖方应用程序独有的ID声明。