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
- DataGridViewColumnCollection.cs
- ResXResourceWriter.cs
- Walker.cs
- ExpressionPrefixAttribute.cs
- ShellProvider.cs
- RelatedCurrencyManager.cs
- RoleGroupCollectionEditor.cs
- DeviceContext.cs
- SimpleType.cs
- CustomErrorCollection.cs
- PairComparer.cs
- XmlSerializer.cs
- TextEvent.cs
- FixUp.cs
- TypedTableBase.cs
- SectionVisual.cs
- DynamicMetaObject.cs
- StorageRoot.cs
- SplitterCancelEvent.cs
- ChangeConflicts.cs
- ListInitExpression.cs
- FloaterBaseParagraph.cs
- DynamicQueryableWrapper.cs
- Color.cs
- ServicesUtilities.cs
- OdbcCommand.cs
- SiteMapSection.cs
- UnitControl.cs
- PointCollection.cs
- ListBindingHelper.cs
- HttpCookie.cs
- SaveFileDialog.cs
- BasePropertyDescriptor.cs
- SimpleTypesSurrogate.cs
- DataGridViewBand.cs
- KeyPressEvent.cs
- XmlParserContext.cs
- DataGridViewComponentPropertyGridSite.cs
- WebPartCollection.cs
- GridViewColumnHeader.cs
- isolationinterop.cs
- SimpleHandlerFactory.cs
- InputDevice.cs
- SimpleWorkerRequest.cs
- MaterialGroup.cs
- InputScope.cs
- DataControlReferenceCollection.cs
- ObjectTag.cs
- DesignerHierarchicalDataSourceView.cs
- DataRowIndexBuffer.cs
- Metadata.cs
- PropertyMetadata.cs
- ValidationRuleCollection.cs
- TrackingMemoryStream.cs
- AsyncCodeActivity.cs
- LocatorPart.cs
- RefreshPropertiesAttribute.cs
- SrgsNameValueTag.cs
- BindingMemberInfo.cs
- Activity.cs
- SchemaImporter.cs
- Grid.cs
- TextControlDesigner.cs
- QueueProcessor.cs
- CatalogZoneBase.cs
- ToolStripProgressBar.cs
- ResourceKey.cs
- SqlConnectionString.cs
- UIElementIsland.cs
- ButtonChrome.cs
- IEnumerable.cs
- FontInfo.cs
- ConfigurationSettings.cs
- XmlSerializationReader.cs
- RawStylusSystemGestureInputReport.cs
- PersistenceProviderDirectory.cs
- DataError.cs
- TraceHandlerErrorFormatter.cs
- ExecutionEngineException.cs
- PropertyGeneratedEventArgs.cs
- KeyPullup.cs
- SmtpReplyReaderFactory.cs
- BasicCellRelation.cs
- SizeAnimationClockResource.cs
- StoryFragments.cs
- StructuredType.cs
- Soap12FormatExtensions.cs
- BaseTransportHeaders.cs
- ParseNumbers.cs
- xmlglyphRunInfo.cs
- TimeSpanStorage.cs
- WpfSharedXamlSchemaContext.cs
- C14NUtil.cs
- Span.cs
- CommandPlan.cs
- TypeToken.cs
- HandlerBase.cs
- FormsAuthenticationUser.cs
- EventEntry.cs
- HandleRef.cs