以下に示すように、ClaimTypesOffered 要素にさらにクレームを追加しようとしています。
<fed:ClaimTypesOffered>
<auth:ClaimType Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" Optional="true" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706">
<auth:DisplayName>Name</auth:DisplayName>
<auth:Description>The name of the subject.</auth:Description>
</auth:ClaimType>
</fed:ClaimTypesOffered>
そこでは多くの名前空間の魔法が行われており、私はそれをうまく処理しようとしています。適切な要素名を取得するだけでも困難です。私は次のすべてを試しました:
new XElement(XNamespace.Get("auth") + "ClaimType", "somedata");
与える
<ClaimType xmlns="auth">somedata</ClaimType>
と
new XElement(XName.Get("{http://docs.oasis-open.org/wsfed/authorization/200706}auth"), "somedata");
与える
<auth xmlns="http://docs.oasis-open.org/wsfed/authorization/200706">somedata</auth>
と
new XElement("auth:ClaimType", "somedata");
与える
System.Xml.XmlException : The ':' character, hexadecimal value 0x3A, cannot be included in a name.
これをさらに進めるための助けを探しています。属性と内部要素を含むクレームを生成する完全な例は素晴らしいでしょう。正しい方向への小さなプッシュでもありがたいです。