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
- PenLineCapValidation.cs
- Process.cs
- DataGridViewRowStateChangedEventArgs.cs
- KeyInstance.cs
- StorageAssociationSetMapping.cs
- TextTreeRootTextBlock.cs
- SafeTokenHandle.cs
- EventBindingService.cs
- HeaderedContentControl.cs
- RootBrowserWindow.cs
- StreamResourceInfo.cs
- AssemblyCache.cs
- OperationDescription.cs
- StorageAssociationSetMapping.cs
- PropertyGridEditorPart.cs
- XmlSchemaInferenceException.cs
- FamilyTypeface.cs
- EditingCoordinator.cs
- PerfCounterSection.cs
- WpfKnownMember.cs
- FilterQueryOptionExpression.cs
- WindowsProgressbar.cs
- ToolStripItemCollection.cs
- ObjectComplexPropertyMapping.cs
- PerformanceCounterManager.cs
- DragDrop.cs
- PackageRelationshipCollection.cs
- PauseStoryboard.cs
- ReferenceEqualityComparer.cs
- CompatibleComparer.cs
- CorrelationExtension.cs
- XslNumber.cs
- XmlSchemaAnnotation.cs
- HtmlTableRow.cs
- UpdateProgress.cs
- mongolianshape.cs
- KeyConverter.cs
- DSASignatureFormatter.cs
- AutomationAttributeInfo.cs
- FastEncoder.cs
- XmlChildNodes.cs
- CodeSubDirectory.cs
- SqlGatherProducedAliases.cs
- DesignerLoader.cs
- DataGridViewTextBoxCell.cs
- BitmapInitialize.cs
- EventSetter.cs
- TextRangeBase.cs
- PersonalizationProvider.cs
- UserControl.cs
- ScriptDescriptor.cs
- DataObject.cs
- MetaModel.cs
- IndicShape.cs
- FreezableCollection.cs
- ListBoxItemAutomationPeer.cs
- Panel.cs
- AttachedPropertyBrowsableAttribute.cs
- EntityDesignPluralizationHandler.cs
- XmlCharType.cs
- DockAndAnchorLayout.cs
- ColumnPropertiesGroup.cs
- GPRECT.cs
- LogicalExpr.cs
- PersonalizationProviderHelper.cs
- ImageInfo.cs
- DesignerFrame.cs
- GridViewSelectEventArgs.cs
- HtmlInputHidden.cs
- IdnMapping.cs
- LongCountAggregationOperator.cs
- DataSourceXmlTextReader.cs
- FileEnumerator.cs
- GeometryHitTestResult.cs
- SerializableAttribute.cs
- PenCursorManager.cs
- MimeMapping.cs
- DaylightTime.cs
- SafeReversePInvokeHandle.cs
- NonSerializedAttribute.cs
- ModelEditingScope.cs
- CodeRegionDirective.cs
- ProbeMatchesCD1.cs
- XmlConverter.cs
- mediapermission.cs
- Drawing.cs
- BindingSource.cs
- PersistenceProvider.cs
- TemplateColumn.cs
- EnumerableRowCollectionExtensions.cs
- DataConnectionHelper.cs
- CallContext.cs
- SchemaName.cs
- TextBounds.cs
- DecoderFallbackWithFailureFlag.cs
- CurrentChangingEventManager.cs
- FlowLayout.cs
- RewritingProcessor.cs
- HtmlInputHidden.cs
- HttpTransportSecurity.cs