Поскольку вы упоминаете о FormCollection, я предполагаю, что вы программируете в Windows с .Net. Тогда проще всего было бы использовать WIF (http://msdn.microsoft.com/en-us/security/aa570351).
Таким образом, вам не нужно анализировать токен, проверять его, устанавливать идентификатор пользователя, а затем создавать файл cookie, представляющий информацию из токена.
WIF, как только вы установите и сконфигурируете его (его SDK поставляется с расширением Visual Studio для этого), вы сделаете это автоматически.
Вы можете посмотреть некоторые образцы, используя WIF с MVC. Один из примеров - ACS с MVC3, который вы можете найти по адресу:
http://msdn.microsoft.com/en-us/library/hh127794.aspx
Как только вы сделаете это в своих контроллерах, вы сможете получить доступ к идентификатору пользователя и получить значения претензий, например ::
((IClaimsPrincipal)HttpContext.User).Identity.Claims.FirstOrDefault(c => c.ClaimType == ClaimTypes.Email)
Обратите внимание, что Windows Live IDP в ACS НЕ будет выдавать адреса электронной почты пользователей в качестве претензий из-за политики конфиденциальности Windows Live.