Я пытаюсь реализовать делегирование утверждений с веб-слоя на уровень WCF.
Это отлично работает с использованием токена ActAs, полученного из ClaimsIdentity BootstrapContext.
Все утверждения, полученные на веб-уровне от ACS, правильно передаются на уровень WCF.
Это настроено аналогично тому, как описано здесь:
http://msdn.microsoft.com/en-us/library/ee517269.aspx (но я считаю, что этот конкретный пример связан с WIF 4.)
Однако мне также необходимо обогатить полученные претензии, чтобы добавить наши собственные внутренние претензии. Я делаю это с помощью ClaimsAuthenticationManager.
Это достигается аналогично описанному здесь: http://msdn.microsoft.com/en-us/library/system.security.claims.claimsauthenticationmanager.aspx
Это работает нормально, и дополнительные утверждения, которые добавляются, затем доступны в ClaimsIdentity повсюду в веб-приложении.
Однако они не передаются в качестве токена, полученного из ClaimsIdentity.BootstrapContext.
Я понимаю, что причина этого в том, что BootstrapContext содержит исходные утверждения, которые были получены, и, следовательно, не содержит дополнительных внутренних утверждений, которые я добавил.
Мне нужен какой-то способ, чтобы также передать эти внутренне добавленные утверждения на уровень WCF в токене actas.
Есть ли способ заставить BootstrapContext также содержать утверждения, которые я добавляю, или есть способ создать SecurityToken из Current ClaimsIdentity/Principle, который я могу использовать в качестве токена (поскольку он будет содержать дополнительный претензии).