/// <summary> /// Creates a 'wsignout1.0' message using the current contents of this <see cref="WsFederationMessage"/>. /// </summary> /// <returns>The uri to use for a redirect.</returns> public string CreateSignOutUrl() { WsFederationMessage wsFederationMessage = new WsFederationMessage(this); wsFederationMessage.Wa = WsFederationActions.SignOut; return(wsFederationMessage.BuildRedirectUrl()); }
public static bool AreEqual(WsFederationMessage wsFederationMessage1, WsFederationMessage wsFederationMessage2) { if (!MessageComparer.AreEqual(wsFederationMessage1 as AuthenticationProtocolMessage, wsFederationMessage2 as AuthenticationProtocolMessage)) { return false; } return true; }
/// <summary> /// Creates a <see cref="WsFederationMessage"/> from the contents of a <see cref="Uri"/>. /// </summary> /// <param name="uri"> uri string to extract parameters.</param> /// <returns>An instance of <see cref="WsFederationMessage"/>.</returns> /// <remarks><see cref="WsFederationMessage"/>.IssuerAddress is NOT set/>. Parameters are parsed from <see cref="Uri.Query"/>.</remarks> public static WsFederationMessage FromUri(Uri uri) { if (uri != null && uri.Query.Length > 1) { return(WsFederationMessage.FromQueryString(uri.Query.Substring(1))); } return(new WsFederationMessage()); }
/// <summary> /// Creates a <see cref="WsFederationMessage"/> from the contents of a query string. /// </summary> /// <param name="queryString"> query string to extract parameters.</param> /// <returns>An instance of <see cref="WsFederationMessage"/>.</returns> /// <remarks>If 'queryString' is null or whitespace, a default <see cref="WsFederationMessage"/> is returned. Parameters are parsed from <see cref="Uri.Query"/>.</remarks> public static WsFederationMessage FromQueryString(string queryString) { WsFederationMessage wsFederationMessage = new WsFederationMessage(); if (!string.IsNullOrWhiteSpace(queryString)) { wsFederationMessage.SetParameters(HttpUtility.ParseQueryString(query: queryString)); } return wsFederationMessage; }
/// <summary> /// Creates a <see cref="WsFederationMessage"/> from the contents of a query string. /// </summary> /// <param name="queryString"> query string to extract parameters.</param> /// <returns>An instance of <see cref="WsFederationMessage"/>.</returns> /// <remarks>If 'queryString' is null or whitespace, a default <see cref="WsFederationMessage"/> is returned. Parameters are parsed from <see cref="Uri.Query"/>.</remarks> public static WsFederationMessage FromQueryString(string queryString) { WsFederationMessage wsFederationMessage = new WsFederationMessage(); if (!string.IsNullOrWhiteSpace(queryString)) { wsFederationMessage.SetParameters(HttpUtility.ParseQueryString(query: queryString)); } return(wsFederationMessage); }
/// <summary> /// Initializes a new instance of the <see cref="WsFederationMessage"/> class. /// </summary> /// <param name="wsFederationMessage"> message to copy.</param> public WsFederationMessage(WsFederationMessage wsFederationMessage) { if (wsFederationMessage == null) { return; } foreach (KeyValuePair<string, string> keyValue in wsFederationMessage.Parameters) { SetParameter(keyValue.Key, keyValue.Value); } IssuerAddress = wsFederationMessage.IssuerAddress; }
/// <summary> /// Initializes a new instance of the <see cref="WsFederationMessage"/> class. /// </summary> /// <param name="wsFederationMessage"> message to copy.</param> public WsFederationMessage(WsFederationMessage wsFederationMessage) { if (wsFederationMessage == null) { return; } foreach (KeyValuePair <string, string> keyValue in wsFederationMessage.Parameters) { SetParameter(keyValue.Key, keyValue.Value); } IssuerAddress = wsFederationMessage.IssuerAddress; }
public void WsFederationAuthenticationMessage_Constructors() { WsFederationMessage wsFederationMessage = new WsFederationMessage(); Assert.AreEqual(wsFederationMessage.IssuerAddress, string.Empty); wsFederationMessage = new WsFederationMessage("http://www.got.jwt.com"); Assert.AreEqual(wsFederationMessage.IssuerAddress, "http://www.got.jwt.com"); ExpectedException expectedException = ExpectedException.ArgumentNullException("issuerAddress"); try { wsFederationMessage = new WsFederationMessage((string)null); expectedException.ProcessNoException(); } catch(Exception exception) { expectedException.ProcessException(exception); } }
public void WsFederationAuthenticationMessage_Defaults() { WsFederationMessage wsFederationMessage = new WsFederationMessage(); Assert.AreEqual(wsFederationMessage.IssuerAddress, string.Empty); Assert.IsNull(wsFederationMessage.Wa); Assert.IsNull(wsFederationMessage.Wauth); Assert.IsNull(wsFederationMessage.Wct); Assert.IsNull(wsFederationMessage.Wctx); Assert.IsNull(wsFederationMessage.Wencoding); Assert.IsNull(wsFederationMessage.Wfed); Assert.IsNull(wsFederationMessage.Wfresh); Assert.IsNull(wsFederationMessage.Whr); Assert.IsNull(wsFederationMessage.Wp); Assert.IsNull(wsFederationMessage.Wpseudo); Assert.IsNull(wsFederationMessage.Wpseudoptr); Assert.IsNull(wsFederationMessage.Wreply); Assert.IsNull(wsFederationMessage.Wreq); Assert.IsNull(wsFederationMessage.Wreqptr); Assert.IsNull(wsFederationMessage.Wres); Assert.IsNull(wsFederationMessage.Wresult); Assert.IsNull(wsFederationMessage.Wresultptr); Assert.IsNull(wsFederationMessage.Wtrealm); }
public void WsFederationAuthenticationMessage_Publics() { string issuerAdderss = @"http://www.gotjwt.com"; string wreply = @"http://www.relyingparty.com"; string wct = Guid.NewGuid().ToString(); WsFederationMessage wsFederationMessage = new WsFederationMessage { IssuerAddress = issuerAdderss, Wreply = wreply, Wct = wct, }; wsFederationMessage.SetParameter("bob", null); wsFederationMessage.Parameters.Add("bob", null); string uriString = wsFederationMessage.BuildRedirectUrl(); Uri uri = new Uri(uriString); WsFederationMessage wsFederationMessageReturned = WsFederationMessage.FromQueryString(uri.Query); wsFederationMessageReturned.IssuerAddress = issuerAdderss; wsFederationMessageReturned.Parameters.Add("bob", null); Assert.IsTrue(MessageComparer.AreEqual(wsFederationMessage, wsFederationMessageReturned)); wsFederationMessageReturned = WsFederationMessage.FromUri(uri); wsFederationMessageReturned.IssuerAddress = issuerAdderss; wsFederationMessageReturned.Parameters.Add("bob", null); Assert.IsTrue(MessageComparer.AreEqual(wsFederationMessage, wsFederationMessageReturned)); }
public void WsFederationAuthenticationMessage_GetSets() { WsFederationMessage wsFederationMessage = new WsFederationMessage(); Type type = typeof(WsFederationParameterNames); FieldInfo[] fields = type.GetFields(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Static); foreach( FieldInfo fieldInfo in fields) { TestUtilities.GetSet(wsFederationMessage, fieldInfo.Name, null, new object[]{ fieldInfo.Name, null, fieldInfo.Name + fieldInfo.Name } ); } }
/// <summary> /// Creates a 'wsignout1.0' message using the current contents of this <see cref="WsFederationMessage"/>. /// </summary> /// <returns>The uri to use for a redirect.</returns> public string CreateSignOutUrl() { WsFederationMessage wsFederationMessage = new WsFederationMessage(this); wsFederationMessage.Wa = WsFederationActions.SignOut; return wsFederationMessage.BuildRedirectUrl(); }