Judging from questions posted on here on stackoverflow alone, Azure ACS appears to be disappointing many implementers because of its inability to provide an email address for a Windows Live ID user. This would certainly be useful in not only registering new members but also authenticating returning members. Perhaps the latter purpose is still achievable without some explicit process whereby the member connects Identity Provider credentials to their account?
Is it possible that the "nameidentifier" claim which ACS does provide for Live ID users could be matched to the properly-encoded email address of a registered member? This is the process I envision:
- Visitor registers on Relying Party website without authenticating via ACS. Member record is stored including an email address which happens to also be registered with Live ID.
- Website hashes provided email address using Live ID-specific hash function and stores that in addition to the original address, on the off chance that the user might authenticate with Live ID.
- Member returns with no identifying cookie and chooses to authenticate with Live ID credentials via ACS.
- ACS returns nameidentifier claim for Live ID.
- Website matches nameidentifier to hashed address from step 2.
- Website logs in member.
Does anyone know if such a hash function might be publicly available?
Cheers
BillVo