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
- LinkConverter.cs
- SynchronizationContext.cs
- FixedSOMFixedBlock.cs
- ExpressionBindingCollection.cs
- HtmlButton.cs
- SqlReorderer.cs
- FixedSOMGroup.cs
- QilBinary.cs
- HitTestParameters3D.cs
- EpmContentSerializer.cs
- JulianCalendar.cs
- Page.cs
- Storyboard.cs
- EntityObject.cs
- PrefixHandle.cs
- HtmlElement.cs
- NameValueConfigurationElement.cs
- DependencyObject.cs
- DataBindingCollection.cs
- Tokenizer.cs
- DbgUtil.cs
- IssuedTokenParametersEndpointAddressElement.cs
- LiteralDesigner.cs
- CacheChildrenQuery.cs
- RadioButtonFlatAdapter.cs
- TargetInvocationException.cs
- ViewBase.cs
- ListItemCollection.cs
- Context.cs
- EventWaitHandle.cs
- VerticalAlignConverter.cs
- TraceContext.cs
- AuthenticationManager.cs
- QueryOperator.cs
- ImageFormatConverter.cs
- CollectionContainer.cs
- _BasicClient.cs
- DataViewManager.cs
- XamlGridLengthSerializer.cs
- OleDragDropHandler.cs
- MouseOverProperty.cs
- WebPartsPersonalizationAuthorization.cs
- DataGridViewBindingCompleteEventArgs.cs
- ItemDragEvent.cs
- XmlSchemaElement.cs
- WarningException.cs
- WorkflowMarkupSerializerMapping.cs
- ImageListImageEditor.cs
- FixedDocument.cs
- OperationResponse.cs
- ClockController.cs
- ConfigXmlWhitespace.cs
- DataGrid.cs
- CustomErrorCollection.cs
- GridEntry.cs
- TemplateEditingVerb.cs
- DataControlButton.cs
- ContextQuery.cs
- ServiceHost.cs
- WebAdminConfigurationHelper.cs
- SqlProvider.cs
- XmlTextEncoder.cs
- CodeNamespace.cs
- TypeFieldSchema.cs
- Reference.cs
- TrustManagerMoreInformation.cs
- SqlUtil.cs
- FieldAccessException.cs
- DataBinder.cs
- Subordinate.cs
- ChannelParameterCollection.cs
- Figure.cs
- DataGridItemEventArgs.cs
- HandlerWithFactory.cs
- InkCanvasAutomationPeer.cs
- TaskFormBase.cs
- X509ChainElement.cs
- ObjectListItemCollection.cs
- ScrollData.cs
- AnchorEditor.cs
- TextMarkerSource.cs
- OledbConnectionStringbuilder.cs
- DecoderFallbackWithFailureFlag.cs
- HttpApplication.cs
- HttpCookieCollection.cs
- Material.cs
- CacheOutputQuery.cs
- ToolStripPanelCell.cs
- TileBrush.cs
- ClockGroup.cs
- WindowExtensionMethods.cs
- PathTooLongException.cs
- XamlDesignerSerializationManager.cs
- TransactedReceiveData.cs
- EntityKey.cs
- TextRangeSerialization.cs
- WebColorConverter.cs
- TrackingServices.cs
- TextSelectionHelper.cs
- RadioButton.cs