Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / RequestSecurityTokenForGetBrowserToken.cs / 1 / RequestSecurityTokenForGetBrowserToken.cs
namespace Microsoft.InfoCards { using System; using System.Xml; using System.Collections; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; // // This class is used to write an RST to the STS for the get browser token case. // internal class RequestSecurityTokenForGetBrowserToken : RequestSecurityToken { public RequestSecurityTokenForGetBrowserToken( RequestSecurityTokenParameters rstParams ) : base( rstParams ) { } protected override void WriteKeyTypeElement() { // // Write the KeyType element. In the browser case, this value must be No Proof Key. // IDT.Assert( ProtocolVersionProfile.WSTrust.KeyTypeBearer.ToString() == Policy.GetKeyTypeString(), "Only no proof key allowed in browser case" ); IDT.TraceDebug( "IPSTSCLIENT: Writing key type {0} to RST", Policy.GetKeyTypeString() ); Serializer.WriteKeyTypeElement( Policy.GetKeyTypeString() ); } protected override void WriteRequestTypeElement() { // // For browser case, we only support the Issue action. // IDT.TraceDebug( "IPSTSCLIENT: Writing RequestType {0} to RST", ProtocolVersionProfile.WSTrust.IssueRequestType ); Serializer.WriteRequestTypeElement( ProtocolVersionProfile.WSTrust.IssueRequestType ); } protected override void WriteAppliesToElement() { // // Always send AppliesTo in browser case - same behavior as Indigo federated token provider // GetBrowserTokenRequest.WriteSourceUrlAppliesTo( Writer, m_rstParams.BrowserTokenParams, ProtocolVersionProfile ); } protected override void WriteSecondaryParametersElement() { // // No need to check appliesTo in the browser case, since it will always be sent. // // // Write out a copy of the policy XML to the SecondaryParameters element if we are using the // oasis 2007 version of WS-Trust. // if( XmlNames.WSSpecificationVersion.WSTrustOasis2007 == ProtocolVersionProfile.WSTrust.Version ) { // // If the policy contains optional claims but the user has elected to not sent optional claims, then we // cannot sent secondaryParameters (as we do not want accidental disclosure of information to a // non-auditing STS). // bool writeSecondaryParameters = true; if( Policy.OptionalClaims.Length > 0 ) { // // If the policy contains one or more optional claims, check to see if the user // is willing to send optional claims. // writeSecondaryParameters = m_rstParams.DiscloseOptionalClaims; } if( writeSecondaryParameters ) { if( null != Policy.RelyingPartyPolicy ) { Serializer.WriteSecondaryParametersElement( Policy.RelyingPartyPolicy.PolicyXml ); } else { // // If the incoming RST Template did not contain SecondaryParameters, we simply write the // original request. // Serializer.WriteSecondaryParametersElement( Policy.ClientPolicy.PolicyXml ); } } } } protected override void CustomWriteBodyContents( XmlDictionaryWriter writer ) { InitializeWriters( writer ); WriteRSTOpeningElement(); WriteKeyTypeElement(); WriteRequestTypeElement(); WriteAppliesToElement(); WriteClaimsElement(); WriteTokenTypeElement(); WriteSecondaryParametersElement(); WriteEndElement(); // // The following elements are explicitly excluded from the browser case: // // InfoCardReferenceElement // KeySupportingElements // PPIDElement // EncryptionAlgorithmElement // DisplayTokenElement // PassOnElements // UnprocessedPolicyElements // } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlDataSourceNodeDescriptor.cs
- HwndSourceParameters.cs
- CustomServiceCredentials.cs
- FunctionQuery.cs
- nulltextnavigator.cs
- ObfuscateAssemblyAttribute.cs
- WindowsNonControl.cs
- WebPartVerbCollection.cs
- DropDownList.cs
- GridViewRowEventArgs.cs
- Shared.cs
- Control.cs
- SocketException.cs
- BuilderPropertyEntry.cs
- NameTable.cs
- IndicCharClassifier.cs
- ActivityScheduledRecord.cs
- Attributes.cs
- WebPermission.cs
- ControlAdapter.cs
- BridgeDataReader.cs
- XPathDocumentBuilder.cs
- MenuAdapter.cs
- HttpCookie.cs
- BindingList.cs
- PackagePart.cs
- LineMetrics.cs
- ClientUtils.cs
- FlowDocumentFormatter.cs
- InputManager.cs
- PrintDialog.cs
- DirectoryInfo.cs
- HtmlInputRadioButton.cs
- _RegBlobWebProxyDataBuilder.cs
- DataGridViewColumnConverter.cs
- NavigationPropertySingletonExpression.cs
- SinglePhaseEnlistment.cs
- ConfigXmlComment.cs
- CodeDomSerializationProvider.cs
- HtmlSelect.cs
- AccessDataSourceView.cs
- EncoderNLS.cs
- SignatureConfirmations.cs
- QualifiedId.cs
- TextParagraphView.cs
- ColorContextHelper.cs
- FigureParaClient.cs
- ACL.cs
- DbParameterCollectionHelper.cs
- ApplyImportsAction.cs
- CFStream.cs
- PerspectiveCamera.cs
- RsaSecurityKey.cs
- PermissionSet.cs
- CapabilitiesAssignment.cs
- MessageContractImporter.cs
- PolyBezierSegment.cs
- ApplyHostConfigurationBehavior.cs
- PointLightBase.cs
- ProtocolsConfigurationHandler.cs
- Tile.cs
- HtmlDocument.cs
- GridViewCancelEditEventArgs.cs
- BufferModesCollection.cs
- DeleteMemberBinder.cs
- PeerNodeAddress.cs
- CFStream.cs
- _SecureChannel.cs
- ConnectionManagementSection.cs
- NavigationWindow.cs
- DataContract.cs
- QueryCacheManager.cs
- WorkflowApplicationAbortedException.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- Inflater.cs
- IisTraceWebEventProvider.cs
- CodeDefaultValueExpression.cs
- SqlDesignerDataSourceView.cs
- HtmlUtf8RawTextWriter.cs
- Pipe.cs
- ZoneButton.cs
- AsymmetricKeyExchangeDeformatter.cs
- DataColumn.cs
- DbConnectionFactory.cs
- TypeTypeConverter.cs
- ProfessionalColorTable.cs
- WorkflowQueueInfo.cs
- SaveWorkflowAsyncResult.cs
- NativeMethods.cs
- AddingNewEventArgs.cs
- TimeSpanSecondsConverter.cs
- InternalConfigEventArgs.cs
- Activity.cs
- ExtentKey.cs
- ImageSource.cs
- DBDataPermissionAttribute.cs
- BaseTemplateCodeDomTreeGenerator.cs
- CollectionDataContract.cs
- Component.cs
- BlobPersonalizationState.cs