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
- AudioSignalProblemOccurredEventArgs.cs
- EntityClassGenerator.cs
- MetadataPropertyCollection.cs
- SplineKeyFrames.cs
- RightsController.cs
- DataGridViewImageCell.cs
- X500Name.cs
- NavigationWindowAutomationPeer.cs
- CheckBoxField.cs
- ValidatorUtils.cs
- UntypedNullExpression.cs
- ResourceBinder.cs
- DBCommandBuilder.cs
- SqlHelper.cs
- MSAANativeProvider.cs
- HuffModule.cs
- FullTextState.cs
- PreservationFileWriter.cs
- ObjectStateEntryDbDataRecord.cs
- SettingsAttributes.cs
- FieldToken.cs
- ClientEndpointLoader.cs
- DataTemplate.cs
- TextEditorThreadLocalStore.cs
- Model3DCollection.cs
- Column.cs
- Storyboard.cs
- Buffer.cs
- Rect3D.cs
- ChildTable.cs
- DtdParser.cs
- Transform3DCollection.cs
- SqlConnectionFactory.cs
- ElementMarkupObject.cs
- TextEncodedRawTextWriter.cs
- RemoteWebConfigurationHostStream.cs
- Transform.cs
- ReachSerializer.cs
- QilList.cs
- MDIWindowDialog.cs
- PathGradientBrush.cs
- ListViewItem.cs
- DesignerCategoryAttribute.cs
- AssemblyBuilderData.cs
- FSWPathEditor.cs
- SQLBinary.cs
- MultiSelector.cs
- FontUnit.cs
- SizeAnimationUsingKeyFrames.cs
- StackOverflowException.cs
- MasterPageCodeDomTreeGenerator.cs
- UnauthorizedAccessException.cs
- AdRotator.cs
- MonitorWrapper.cs
- GlobalProxySelection.cs
- RayHitTestParameters.cs
- ProfileModule.cs
- SchemaElement.cs
- StreamSecurityUpgradeInitiatorBase.cs
- SimpleType.cs
- EpmContentDeSerializer.cs
- TrustManagerMoreInformation.cs
- TypeDescriptionProvider.cs
- VersionUtil.cs
- DataRecordInfo.cs
- _NativeSSPI.cs
- ResXResourceReader.cs
- SqlInfoMessageEvent.cs
- LocalizabilityAttribute.cs
- AssemblySettingAttributes.cs
- RightNameExpirationInfoPair.cs
- UserNameSecurityTokenParameters.cs
- DefaultValueTypeConverter.cs
- TextTrailingWordEllipsis.cs
- WeakEventTable.cs
- TrackingServices.cs
- TemplateControlCodeDomTreeGenerator.cs
- PropertyNames.cs
- BindingContext.cs
- GrammarBuilder.cs
- CodeCompiler.cs
- login.cs
- autovalidator.cs
- DataGridViewAddColumnDialog.cs
- Context.cs
- isolationinterop.cs
- TreeWalker.cs
- UserInitiatedNavigationPermission.cs
- MemberRelationshipService.cs
- XmlSchemaSimpleContentRestriction.cs
- PersonalizableTypeEntry.cs
- PartialList.cs
- SortFieldComparer.cs
- AtomEntry.cs
- SqlDataSourceFilteringEventArgs.cs
- WebBrowserPermission.cs
- InkCanvasFeedbackAdorner.cs
- base64Transforms.cs
- PopupControlService.cs
- DrawingBrush.cs