仅从 stackoverflow 上发布的问题来看,Azure ACS 似乎让许多实施者感到失望,因为它无法为 Windows Live ID 用户提供电子邮件地址。这不仅对注册新成员而且对返回成员的身份验证肯定有用。如果没有一些明确的过程,成员将身份提供者凭据连接到他们的帐户,也许后一个目的仍然可以实现?
ACS 为 Live ID 用户提供的“名称标识符”声明是否可能与注册会员的正确编码的电子邮件地址相匹配?这是我设想的过程:
- 访问者在依赖方网站上注册,无需通过 ACS 进行身份验证。存储的会员记录包括一个电子邮件地址,该地址恰好也注册了 Live ID。
- 网站哈希使用 Live ID 特定的哈希函数提供电子邮件地址,并将其存储在原始地址之外,以防用户可能使用 Live ID 进行身份验证。
- 成员返回时没有识别 cookie,并选择通过 ACS 使用 Live ID 凭据进行身份验证。
- ACS 返回 Live ID 的 nameidentifier 声明。
- 网站将 nameidentifier 与步骤 2 中的哈希地址相匹配。
- 网站登录会员。
有谁知道这样的哈希函数是否可以公开获得?
干杯
比尔沃