Exemple #1
0
        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);
        }
Exemple #2
0
 /// <summary>
 /// create security token
 /// </summary>
 private void initSecurityTokenprovider()
 {
     localUserTokenProvider = WindowsTokenProvider.CreateOAuthTokenProvider(
         connBuilder.StsEndpoints,
         new System.Net.NetworkCredential(Username, Password));
 }