SupportingTokenAuthenticatorSpecification.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------
  4. namespace System.ServiceModel.Security
  5. {
  6. using System.IdentityModel.Selectors;
  7. using System.ServiceModel;
  8. using System.ServiceModel.Security.Tokens;
  9. class SupportingTokenAuthenticatorSpecification
  10. {
  11. SecurityTokenAttachmentMode tokenAttachmentMode;
  12. SecurityTokenAuthenticator tokenAuthenticator;
  13. SecurityTokenResolver tokenResolver;
  14. SecurityTokenParameters tokenParameters;
  15. bool isTokenOptional;
  16. public SupportingTokenAuthenticatorSpecification(SecurityTokenAuthenticator tokenAuthenticator, SecurityTokenResolver securityTokenResolver, SecurityTokenAttachmentMode attachmentMode, SecurityTokenParameters tokenParameters)
  17. : this(tokenAuthenticator, securityTokenResolver, attachmentMode, tokenParameters, false)
  18. {
  19. }
  20. internal SupportingTokenAuthenticatorSpecification(SecurityTokenAuthenticator tokenAuthenticator, SecurityTokenResolver securityTokenResolver, SecurityTokenAttachmentMode attachmentMode, SecurityTokenParameters tokenParameters, bool isTokenOptional)
  21. {
  22. if (tokenAuthenticator == null)
  23. {
  24. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("tokenAuthenticator");
  25. }
  26. SecurityTokenAttachmentModeHelper.Validate(attachmentMode);
  27. if (tokenParameters == null)
  28. {
  29. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("tokenParameters");
  30. }
  31. this.tokenAuthenticator = tokenAuthenticator;
  32. this.tokenResolver = securityTokenResolver;
  33. this.tokenAttachmentMode = attachmentMode;
  34. this.tokenParameters = tokenParameters;
  35. this.isTokenOptional = isTokenOptional;
  36. }
  37. public SecurityTokenAuthenticator TokenAuthenticator
  38. {
  39. get { return this.tokenAuthenticator; }
  40. }
  41. public SecurityTokenResolver TokenResolver
  42. {
  43. get { return this.tokenResolver; }
  44. }
  45. public SecurityTokenAttachmentMode SecurityTokenAttachmentMode
  46. {
  47. get { return this.tokenAttachmentMode; }
  48. }
  49. public SecurityTokenParameters TokenParameters
  50. {
  51. get { return this.tokenParameters; }
  52. }
  53. internal bool IsTokenOptional
  54. {
  55. get { return this.isTokenOptional; }
  56. set { this.isTokenOptional = value; }
  57. }
  58. }
  59. }