private static bool FactoryEquals(MessagingFactory factory1, MessagingFactory factory2) { bool flag; bool flag1; bool flag2; bool flag3; bool flag4; MessagingFactorySettings settings = factory1.GetSettings(); SharedSecretTokenProvider tokenProvider = settings.TokenProvider as SharedSecretTokenProvider; SharedAccessSignatureTokenProvider sharedAccessSignatureTokenProvider = settings.TokenProvider as SharedAccessSignatureTokenProvider; WindowsTokenProvider windowsTokenProvider = settings.TokenProvider as WindowsTokenProvider; OAuthTokenProvider oAuthTokenProvider = settings.TokenProvider as OAuthTokenProvider; MessagingFactorySettings messagingFactorySetting = factory2.GetSettings(); SharedSecretTokenProvider sharedSecretTokenProvider = messagingFactorySetting.TokenProvider as SharedSecretTokenProvider; SharedAccessSignatureTokenProvider tokenProvider1 = messagingFactorySetting.TokenProvider as SharedAccessSignatureTokenProvider; WindowsTokenProvider windowsTokenProvider1 = messagingFactorySetting.TokenProvider as WindowsTokenProvider; OAuthTokenProvider oAuthTokenProvider1 = messagingFactorySetting.TokenProvider as OAuthTokenProvider; if (settings.OperationTimeout != messagingFactorySetting.OperationTimeout) { return(false); } if (settings.TransportType != messagingFactorySetting.TransportType) { return(false); } if (tokenProvider != null || sharedSecretTokenProvider != null) { flag = (tokenProvider == null ? false : sharedSecretTokenProvider != null); } else { flag = true; } bool flag5 = flag; if (windowsTokenProvider != null || windowsTokenProvider1 != null) { flag1 = (windowsTokenProvider == null ? false : windowsTokenProvider1 != null); } else { flag1 = true; } bool flag6 = flag1; if (oAuthTokenProvider != null || oAuthTokenProvider1 != null) { flag2 = (oAuthTokenProvider == null ? false : oAuthTokenProvider1 != null); } else { flag2 = true; } bool flag7 = flag2; if (sharedAccessSignatureTokenProvider != null || tokenProvider1 != null) { flag3 = (sharedAccessSignatureTokenProvider == null ? false : tokenProvider1 != null); } else { flag3 = true; } bool flag8 = flag3; if (!flag5 || !flag6 || !flag7 || !flag8) { return(false); } if (tokenProvider != null && sharedSecretTokenProvider != null && (tokenProvider.IssuerName != sharedSecretTokenProvider.IssuerName || !tokenProvider.IssuerSecret.SequenceEqual <byte>(sharedSecretTokenProvider.IssuerSecret) || tokenProvider.IsWebTokenSupported != sharedSecretTokenProvider.IsWebTokenSupported)) { return(false); } if (sharedAccessSignatureTokenProvider != null && tokenProvider1 != null) { if (sharedAccessSignatureTokenProvider.encodedSharedAccessKey != null || tokenProvider1.encodedSharedAccessKey != null) { flag4 = (sharedAccessSignatureTokenProvider.encodedSharedAccessKey == null ? false : tokenProvider1.encodedSharedAccessKey != null); } else { flag4 = true; } bool flag9 = flag4; if (sharedAccessSignatureTokenProvider.keyName != tokenProvider1.keyName || sharedAccessSignatureTokenProvider.tokenTimeToLive != tokenProvider1.tokenTimeToLive || !flag9) { return(false); } if (sharedAccessSignatureTokenProvider.encodedSharedAccessKey != null && tokenProvider1.encodedSharedAccessKey != null) { if ((int)sharedAccessSignatureTokenProvider.encodedSharedAccessKey.Length != (int)tokenProvider1.encodedSharedAccessKey.Length) { return(false); } if (!sharedAccessSignatureTokenProvider.encodedSharedAccessKey.SequenceEqual <byte>(tokenProvider1.encodedSharedAccessKey)) { return(false); } } } if (oAuthTokenProvider != null && oAuthTokenProvider1 != null && oAuthTokenProvider.IsWebTokenSupported != oAuthTokenProvider1.IsWebTokenSupported) { return(false); } if (windowsTokenProvider != null && windowsTokenProvider1 != null) { if (windowsTokenProvider.IsWebTokenSupported != windowsTokenProvider1.IsWebTokenSupported || windowsTokenProvider.stsUris.Count != windowsTokenProvider1.stsUris.Count) { return(false); } if (windowsTokenProvider.stsUris.Where <Uri>((Uri t, int i) => t != windowsTokenProvider1.stsUris[i]).Any <Uri>()) { return(false); } if (windowsTokenProvider.credential == null && windowsTokenProvider1.credential != null || windowsTokenProvider.credential != null && windowsTokenProvider1.credential == null) { return(false); } if (windowsTokenProvider.credential != null && windowsTokenProvider1.credential != null && (!windowsTokenProvider.credential.Domain.Equals(windowsTokenProvider1.credential.Domain, StringComparison.OrdinalIgnoreCase) || !windowsTokenProvider.credential.UserName.Equals(windowsTokenProvider1.credential.UserName, StringComparison.OrdinalIgnoreCase) || !windowsTokenProvider.credential.Password.Equals(windowsTokenProvider1.credential.Password))) { return(false); } } return(factory1.Address == factory2.Address); }
/// <summary> /// create security token /// </summary> private void initSecurityTokenprovider() { localUserTokenProvider = WindowsTokenProvider.CreateOAuthTokenProvider( connBuilder.StsEndpoints, new System.Net.NetworkCredential(Username, Password)); }