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
- Cloud.cs
- WindowsListViewItem.cs
- Expander.cs
- MaskDesignerDialog.cs
- ServiceReference.cs
- UnsafeNativeMethodsMilCoreApi.cs
- Debugger.cs
- Effect.cs
- DrawingState.cs
- DataGridViewDataErrorEventArgs.cs
- BitmapInitialize.cs
- ColorTransform.cs
- AppSecurityManager.cs
- ProfileGroupSettingsCollection.cs
- DataControlButton.cs
- DocumentReferenceCollection.cs
- GenericTypeParameterBuilder.cs
- TextLineResult.cs
- BitmapFrameDecode.cs
- DeflateEmulationStream.cs
- CustomErrorsSectionWrapper.cs
- CheckableControlBaseAdapter.cs
- FormsAuthenticationModule.cs
- Geometry3D.cs
- TraceContext.cs
- RequestQueue.cs
- ProxyFragment.cs
- _ConnectionGroup.cs
- HttpHandlersSection.cs
- StorageEndPropertyMapping.cs
- SafeFileMappingHandle.cs
- XmlValidatingReaderImpl.cs
- IndexOutOfRangeException.cs
- PropertyIDSet.cs
- WebPartCatalogAddVerb.cs
- GACIdentityPermission.cs
- Rules.cs
- SecUtil.cs
- COMException.cs
- TranslateTransform.cs
- BinaryWriter.cs
- SoapInteropTypes.cs
- IUnknownConstantAttribute.cs
- HtmlTableCellCollection.cs
- LogReservationCollection.cs
- Byte.cs
- X509CertificateStore.cs
- HtmlInputHidden.cs
- TokenBasedSetEnumerator.cs
- Span.cs
- EmptyEnumerator.cs
- Rect3D.cs
- XmlComplianceUtil.cs
- WorkflowInstanceTerminatedRecord.cs
- TemplatePropertyEntry.cs
- EntityContainerAssociationSetEnd.cs
- MappedMetaModel.cs
- SchemaImporterExtension.cs
- ObjectContext.cs
- ValuePatternIdentifiers.cs
- ScrollBar.cs
- DataTablePropertyDescriptor.cs
- ResXFileRef.cs
- PartialCachingControl.cs
- RecognitionEventArgs.cs
- CompilerGlobalScopeAttribute.cs
- IPPacketInformation.cs
- FillErrorEventArgs.cs
- COMException.cs
- StreamReader.cs
- CodeGotoStatement.cs
- ItemList.cs
- ResizeGrip.cs
- SignedXml.cs
- SqlBuffer.cs
- TemplatePagerField.cs
- XmlDocumentSurrogate.cs
- Select.cs
- CharAnimationUsingKeyFrames.cs
- ShapeTypeface.cs
- RowToParametersTransformer.cs
- FrameSecurityDescriptor.cs
- XmlLanguageConverter.cs
- ProxyHelper.cs
- SQLString.cs
- FileDialog.cs
- PagedDataSource.cs
- ElasticEase.cs
- _SecureChannel.cs
- InheritedPropertyChangedEventArgs.cs
- ContextMenu.cs
- autovalidator.cs
- PolygonHotSpot.cs
- VisualTarget.cs
- FileChangesMonitor.cs
- RubberbandSelector.cs
- IssuanceLicense.cs
- XmlSchemaAttribute.cs
- ConfigurationSchemaErrors.cs
- DesignOnlyAttribute.cs