예제 #1
0
        protected AbstractClientProvider(OAuthWebConfigurationElement ccRoot, OAuthConfigurationElement ccOauth)
        {
            ClientId     = ccOauth.ClientId;
            ClientSecret = ccOauth.ClientSecret;
            CallBackUrl  = ccOauth.CallbackUrl;
            Scope        = ccOauth.Scope;
            Endpoint     = ccOauth.Endpoint;

            AcceptedRedirectUrl = ccRoot.AcceptedRedirectUrl;
            FailedRedirectUrl   = ccRoot.FailedRedirectUrl;
            Proxy = ccRoot.Proxy;
        }
예제 #2
0
        protected AbstractClientProvider(OAuthWebConfigurationElement ccRoot, OAuthConfigurationElement ccOauth)
        {
            // TODO: This copying still feels wrong - config class and this client base class share data
            ClientId     = ccOauth.ClientId;
            ClientSecret = ccOauth.ClientSecret;
            CallBackUrl  = ccOauth.CallbackUrl;
            Scope        = ccOauth.Scope;
            Endpoint     = ccOauth.Endpoint;

            //AcceptedRedirectUrl = ccRoot.AcceptedRedirectUrl;
            FailedRedirectUrl = ccRoot.FailedRedirectUrl;
            Proxy             = ccRoot.Proxy;
        }
예제 #3
0
        public static T CreateClient <T>(string configName) where T : AbstractClientProvider, new()
        {
            if (String.IsNullOrEmpty(configName))
            {
                throw new Exception("Invalid configuration name");
            }

            var ccRoot =
                ConfigurationManager.GetSection("oauth2.login.configuration") as OAuthConfigurationSection;

            if (ccRoot != null)
            {
                var ccWebElem = ccRoot.WebConfiguration;

                IEnumerator configurationReader = ccRoot.OAuthVClientConfigurations.GetEnumerator();

                OAuthConfigurationElement ccOauth = null;
                while (configurationReader.MoveNext())
                {
                    var currentOauthElement = configurationReader.Current as OAuthConfigurationElement;
                    if (currentOauthElement != null && currentOauthElement.Name == configName)
                    {
                        ccOauth = currentOauthElement;
                        break;
                    }
                }

                if (ccOauth != null)
                {
                    var constructorParams = new object[]
                    {
                        ccWebElem,
                        ccOauth
                    };
                    var client = (T)Activator.CreateInstance(typeof(T), constructorParams);

                    return(client);
                }
                else
                {
                    throw new Exception("ERROR: [MultiOAuthFactroy] ConfigurationName is not found!");
                }
            }

            return(default(T));
        }
예제 #4
0
 public PayPalClient(OAuthWebConfigurationElement ccRoot, OAuthConfigurationElement ccOauth)
     : base(ccRoot, ccOauth)
 {
 }
예제 #5
0
 public WindowsLiveClient(OAuthWebConfigurationElement ccRoot, OAuthConfigurationElement ccOauth)
     : base(ccRoot, ccOauth)
 {
     //ServiceType = typeof (WindowsLiveService);
 }
예제 #6
0
 public WindowsLiveClient(OAuthWebConfigurationElement ccRoot, OAuthConfigurationElement ccOauth)
     : base(ccRoot, ccOauth)
 {
 }
예제 #7
0
 public PayPalClient(OAuthWebConfigurationElement ccRoot, OAuthConfigurationElement ccOauth)
     : base(ccRoot, ccOauth)
 {
     //ServiceType = typeof (PayPalService);
 }
예제 #8
0
 public FacebookClient(OAuthWebConfigurationElement ccRoot, OAuthConfigurationElement ccOauth)
     : base(ccRoot, ccOauth)
 {
 }
 public TwitterClient(OAuthWebConfigurationElement ccRoot, OAuthConfigurationElement ccOauth)
     : base(ccRoot, ccOauth)
 {
 }
예제 #10
0
 public GoogleClient(OAuthWebConfigurationElement ccRoot, OAuthConfigurationElement ccOauth)
     : base(ccRoot, ccOauth)
 {
     //ServiceType = typeof (GoogleService);
 }
예제 #11
0
 public TwitterClient(OAuthWebConfigurationElement ccRoot, OAuthConfigurationElement ccOauth)
     : base(ccRoot, ccOauth)
 {
     //ServiceType = typeof(TwitterService);
 }
예제 #12
0
 public FacebookClient(OAuthWebConfigurationElement ccRoot, OAuthConfigurationElement ccOauth)
     : base(ccRoot, ccOauth)
 {
     //ServiceType = typeof (FacebookService);
 }