Exemple #1
0
        public OrchardAuthenticationClientData GetClientData(string providerName)
        {
            Argument.ThrowIfNullOrEmpty(providerName, "providerName");

            // Do we have a configuration?
            var clientConfiguration = _providerConfigurationService.Get(providerName);

            if (clientConfiguration == null || clientConfiguration.IsEnabled != 1)
            {
                return(null);
            }

            // Is this a known internal client
            var clientBuilder = _openAuthAuthenticationClients
                                .SingleOrDefault(o => o.ProviderName.Equals(providerName, StringComparison.OrdinalIgnoreCase));

            IAuthenticationClient client = clientBuilder != null?
                                           clientBuilder.Build(clientConfiguration) : CreateOpenIdClient(clientConfiguration);

            if (client != null)
            {
                return(new OrchardAuthenticationClientData(client, clientConfiguration.DisplayName, new Dictionary <string, object>()));
            }
            else
            {
                return(null);
            }
        }
Exemple #2
0
 public SimpleAuthBusiness(
     IAuthenticationClient authenticationClient,
     ILockAccountClient lockAccountClient,
     IUnLockAccountClient unlockAccountClient,
     IChangePasswordClient changePasswordClient,
     IRolesClient rolesClient,
     IUserRoleClient userRoleClient,
     IUsersClient usersClient,
     IPermissionsClient permissionsClient,
     IRolePermissionClient rolePermissionClient,
     IUserPermissionClient userPermissionClient,
     IPasswordResetClient passwordResetClient,
     IGeneratePasswordResetKeyClient generatePasswordResetKeyClient,
     IValidatePasswordResetKeyClient validatePasswordResetKeyClient)
 {
     this.authenticationClient           = authenticationClient;
     this.lockAccountClient              = lockAccountClient;
     this.unlockAccountClient            = unlockAccountClient;
     this.changePasswordClient           = changePasswordClient;
     this.rolesClient                    = rolesClient;
     this.userRoleClient                 = userRoleClient;
     this.usersClient                    = usersClient;
     this.permissionsClient              = permissionsClient;
     this.rolePermissionClient           = rolePermissionClient;
     this.userPermissionClient           = userPermissionClient;
     this.passwordResetClient            = passwordResetClient;
     this.generatePasswordResetKeyClient = generatePasswordResetKeyClient;
     this.validatePasswordResetKeyClient = validatePasswordResetKeyClient;
 }
        public void RequestAuthentication(IAuthenticationClient client, IOpenAuthDataProvider provider, string returnUrl)
        {
            var securityManager = new OpenAuthSecurityManager(
                new HttpContextWrapper(HttpContext.Current), client, provider);

            securityManager.RequestAuthentication(returnUrl);
        }
Exemple #4
0
        /// <summary>
        /// Requests the authentication core.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="provider">The provider.</param>
        /// <param name="returnUrl">The return URL.</param>
        internal static void RequestAuthenticationCore(HttpContextBase context, string provider, string returnUrl)
        {
            IAuthenticationClient client = GetOAuthClient(provider);
            var securityManager          = new OpenAuthSecurityManager(context, client, OAuthDataProvider);

            securityManager.RequestAuthentication(returnUrl);
        }
        public AuthenticationResult VerifyAuthentication(IAuthenticationClient client, IOpenAuthDataProvider provider, string returnUrl)
        {
            var context         = new HttpContextWrapper(HttpContext.Current);
            var securityManager = new OpenAuthSecurityManager(context, client, provider);

            return(securityManager.VerifyAuthentication(returnUrl));
        }
 /// <summary>
 ///   Verifies the authentication.
 /// </summary>
 /// <param name="client"> The client. </param>
 /// <param name="provider"> The provider. </param>
 /// <param name="returnUrl"> The return URL. </param>
 /// <returns> </returns>
 public AuthenticationResult VerifyAuthentication(IAuthenticationClient client, IOpenAuthDataProvider provider,
                                                  string returnUrl)
 {
     var context = new HttpContextWrapper(HttpContext.Current);
     var securityManager = new OpenAuthSecurityManager(context, client, provider);
     return securityManager.VerifyAuthentication(returnUrl);
 }
Exemple #7
0
        /// <summary>
        /// Requests the authentication core.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="provider">The provider.</param>
        /// <param name="returnUrl">The return URL.</param>
        protected virtual void OAuthRequestAuthenticationCore(HttpContextBase context, string provider, string returnUrl)
        {
            IAuthenticationClient client = _oAuthRegisteredClientCollection.GetOAuthClient(provider);
            var securityManager          = new OpenAuthSecurityManager(context, client, this);

            securityManager.RequestAuthentication(returnUrl);
        }
        public static void RegisterClient(IAuthenticationClient client,
                                          string displayName, IDictionary <string, object> extraData)
        {
            var clientData = new AuthenticationClientData(client, displayName, extraData);

            _authenticationClients.Add(client.ProviderName, clientData);
        }
Exemple #9
0
 public AuthenticationService(IAuthenticationClient authenticationApi, IUsersClient usersApi, IAuthenticationAppClient authenticationAppApi, ICredentialsUsersClient credentialsUsersClient)
 {
     this.authenticationApi      = authenticationApi;
     this.usersApi               = usersApi;
     this.authenticationAppApi   = authenticationAppApi;
     this.credentialsUsersClient = credentialsUsersClient;
 }
Exemple #10
0
        public static void RegisterClient(
            IAuthenticationClient client,
            string displayName,
            IDictionary <string, object> extraData
            )
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }

            if (String.IsNullOrEmpty(client.ProviderName))
            {
                throw new ArgumentException(WebResources.InvalidServiceProviderName, "client");
            }

            if (_authenticationClients.ContainsKey(client.ProviderName))
            {
                throw new ArgumentException(WebResources.ServiceProviderNameExists, "client");
            }

            var clientData = new AuthenticationClientData(client, displayName, extraData);

            _authenticationClients.Add(client.ProviderName, clientData);
        }
Exemple #11
0
 public AdminController(IServiceContainer serviceContainer)
     : base(serviceContainer)
 {
     this.authentication     = serviceContainer.GetService <IAuthenticationClient>();
     this.translationManager = serviceContainer.GetService <ITranslationManager>();
     this.languageProvider   = serviceContainer.GetService <IBaseProvider <Language> >();
     this.userProvider       = serviceContainer.GetService <IUserProvider>();
 }
 public ProductsClient(
     HttpClient httpClient,
     IAnalyticsService analyticsService,
     IOnsightApiClientConfig clientConfig,
     IAuthenticationClient authenticationClient)
     : base(httpClient, analyticsService, clientConfig, authenticationClient, "products")
 {
 }
 public MastodonApiWrapper(Registration registration, UserMastodonConnectionDetails userMastodonConnectionDetails, IAuthenticationClient authClient = null, IMastodonClient mastodonClient = null)
 {
     AppRegistration = registration;
     MastodonHostInstance = AppRegistration?.Instance;
     UserMastodonConnectionDetails = userMastodonConnectionDetails;
     _authClient = authClient;
     _mastodonClient = mastodonClient;
 }
 public CustomersClient(
     HttpClient httpClient,
     IAnalyticsService analyticsService,
     IOnsightApiClientConfig clientConfig,
     IAuthenticationClient authenticationClient)
     : base(httpClient, analyticsService, clientConfig, authenticationClient, "customers")
 {
 }
Exemple #15
0
 public CurrentUserLoader(IServiceContainer serviceContainer)
     : base(serviceContainer)
 {
     this.userProvider         = serviceContainer.GetService <IUserProvider>();
     this.authenticationClient = serviceContainer.GetService <IAuthenticationClient>();
     this.roleProvider         = serviceContainer.GetService <IRoleProvider>();
     this.permissionProvider   = serviceContainer.GetService <IPermissionProvider>();
 }
Exemple #16
0
 internal void Initialize(
     IAuthenticationClient client,
     ResourceFactory resourceFactory,
     IDictionary <string, object> data,
     ILogger logger)
 {
     resourceFactory = resourceFactory ?? new ResourceFactory(client, logger, new AbstractResourceTypeResolverFactory(ResourceTypeHelper.GetAllDefinedTypes(typeof(Resource))));
     base.Initialize(client, resourceFactory, data, logger);
 }
        public AuthenticationClientData(IAuthenticationClient authenticationClient, string displayName, IDictionary<string, object> extraData)
        {
            if (authenticationClient == null)
                throw new ArgumentNullException("authenticationClient");

            AuthenticationClient = authenticationClient;
            DisplayName = displayName;
            ExtraData = extraData;
        }
Exemple #18
0
 protected AkenioClientBase(Uri apiEndPoint, IAuthenticationClient authClient)
 {
     AuthClient = authClient;
     HttpClient = new HttpClient
     {
         BaseAddress           = apiEndPoint,
         DefaultRequestHeaders = { Accept = { MediaTypeWithQualityHeaderValue.Parse("*/*") } }
     };
 }
Exemple #19
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LtiOpenAuthSecurityManager"/> class.
 /// </summary>
 /// <param name="requestContext">
 /// The request context.
 /// </param>
 /// <param name="provider">
 /// The provider.
 /// </param>
 /// <param name="dataProvider">
 /// The data provider.
 /// </param>
 public LtiOpenAuthSecurityManager(
     HttpContextBase requestContext,
     IAuthenticationClient provider,
     IOpenAuthDataProvider dataProvider)
     : base(requestContext, provider, dataProvider)
 {
     this.requestContext         = requestContext;
     this.authenticationProvider = provider;
 }
		/// <summary>
		/// Initializes a new instance of the <see cref="OpenAuthSecurityManager"/> class.
		/// </summary>
		/// <param name="requestContext">
		/// The request context. 
		/// </param>
		/// <param name="provider">
		/// The provider. 
		/// </param>
		/// <param name="dataProvider">
		/// The data provider. 
		/// </param>
		public OpenAuthSecurityManager(
			HttpContextBase requestContext, IAuthenticationClient provider, IOpenAuthDataProvider dataProvider) {
			Requires.NotNull(requestContext, "requestContext");
			Requires.NotNull(provider, "provider");
			Requires.NotNull(dataProvider, "dataProvider");

			this.requestContext = requestContext;
			this.dataProvider = dataProvider;
			this.authenticationProvider = provider;
		}
		/// <summary>
		/// Initializes a new instance of the <see cref="OpenAuthSecurityManager"/> class.
		/// </summary>
		/// <param name="requestContext">
		/// The request context. 
		/// </param>
		/// <param name="provider">
		/// The provider. 
		/// </param>
		/// <param name="dataProvider">
		/// The data provider. 
		/// </param>
		public OpenAuthSecurityManager(
			HttpContextBase requestContext, IAuthenticationClient provider, IOpenAuthDataProvider dataProvider) {
			if (requestContext == null) {
				throw new ArgumentNullException("requestContext");
			}

			this.requestContext = requestContext;
			this.dataProvider = dataProvider;
			this.authenticationProvider = provider;
		}
        public OrchardAuthenticationClientData(
            IAuthenticationClient authenticationClient,
            string displayName,
            IDictionary <string, object> extraData)
        {
            Argument.ThrowIfNull(authenticationClient, "authenticationClient");

            AuthenticationClient = authenticationClient;
            DisplayName          = displayName;
            ExtraData            = extraData;
        }
        public OrchardAuthenticationClientData(
            IAuthenticationClient authenticationClient,
            string displayName,
            IDictionary<string, object> extraData) {

            Argument.ThrowIfNull(authenticationClient, "authenticationClient");

            AuthenticationClient = authenticationClient;
            DisplayName = displayName;
            ExtraData = extraData;
        }
Exemple #24
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AuthenticationClientData"/> class.
        /// </summary>
        /// <param name="authenticationClient">The authentication client.</param>
        /// <param name="displayName">The display name.</param>
        /// <param name="extraData">The data bag used to store extra data about this client</param>
        public AuthenticationClientData(IAuthenticationClient authenticationClient, string displayName, IDictionary <string, object> extraData)
        {
            if (authenticationClient == null)
            {
                throw new ArgumentNullException("authenticationClient");
            }

            AuthenticationClient = authenticationClient;
            DisplayName          = displayName;
            ExtraData            = extraData;
        }
Exemple #25
0
 public LoginEveryTimeBehaviour(ILoggerWrapper logger,
                                ITokenService tokenService,
                                IAuthenticationClient client,
                                IInternet internet,
                                ISessionService session,
                                IUnitOfWork work,
                                ICommunicationTypeClient communication,
                                ICommunicationTypeService communicationTypeService)
     : base(logger, tokenService, client, internet, session, work, communication, communicationTypeService)
 {
 }
Exemple #26
0
        /// <summary>
        /// Initializes a new instance of the <see cref="OpenAuthSecurityManager"/> class.
        /// </summary>
        /// <param name="requestContext">
        /// The request context.
        /// </param>
        /// <param name="provider">
        /// The provider.
        /// </param>
        /// <param name="dataProvider">
        /// The data provider.
        /// </param>
        public OpenAuthSecurityManager(
            HttpContextBase requestContext, IAuthenticationClient provider, IOpenAuthDataProvider dataProvider)
        {
            Requires.NotNull(requestContext, "requestContext");
            Requires.NotNull(provider, "provider");
            Requires.NotNull(dataProvider, "dataProvider");

            this.requestContext         = requestContext;
            this.dataProvider           = dataProvider;
            this.authenticationProvider = provider;
        }
Exemple #27
0
 private void ClientFactory_GetClientComplete(object sender, GetClientCompleteEventArgs e)
 {
     if (e.Client == null)
     {
         OnInitialisationComplete(new InitialisationCompleteEventArgs(InitialisationResult.Error));
     }
     else
     {
         m_Client = e.Client;
         OnInitialisationComplete(new InitialisationCompleteEventArgs(InitialisationResult.Initialised));
     }
 }
Exemple #28
0
        public WebServiceClient(IAuthenticationClient authenticationClient, IUsersClient usersClient, ILayoutClient layoutClient, ISearchClient searchClient)
        {
            Guard.AgainstNullArgument("authenticationClient", authenticationClient);
            Guard.AgainstNullArgument("usersClient", usersClient);
            Guard.AgainstNullArgument("layoutClient", layoutClient);
            Guard.AgainstNullArgument("searchClient", searchClient);

            this.Authentication = authenticationClient;
            this.Users          = usersClient;
            this.LayoutClient   = layoutClient;
            this.SearchClient   = searchClient;
        }
Exemple #29
0
        /// <summary>
        /// Initializes a new instance of the <see cref="OpenAuthSecurityManager"/> class.
        /// </summary>
        /// <param name="requestContext">
        /// The request context.
        /// </param>
        /// <param name="provider">
        /// The provider.
        /// </param>
        /// <param name="dataProvider">
        /// The data provider.
        /// </param>
        public OpenAuthSecurityManager(
            HttpContextBase requestContext, IAuthenticationClient provider, IOpenAuthDataProvider dataProvider)
        {
            if (requestContext == null)
            {
                throw new ArgumentNullException("requestContext");
            }

            this.requestContext         = requestContext;
            this.dataProvider           = dataProvider;
            this.authenticationProvider = provider;
        }
Exemple #30
0
 public void TestInitialize()
 {
     jsonService = new JsonService();
     initiateAuthenticationResponse = new InitiateAuthenticationResponse(REFERENCE);
     authenticationResult           = new AuthenticationResult(REFERENCE, TransactionStatus.STARTED, null, null);
     authenticationResultWithRequestedAttributes = new AuthenticationResult(REFERENCE, TransactionStatus.APPROVED, DETAILS, REQUESTED_ATTRIBUTES);
     authenticationResults = new AuthenticationResults(new List <AuthenticationResult> {
         authenticationResult
     });
     authenticationClient = AuthenticationClient.Create(SslSettings.Create(TestKeystoreUtil.GetKeystorePath(TestKeystoreUtil.KEYSTORE_PATH_PKCS12), TestKeystoreUtil.KEYSTORE_PASSWORD, TestKeystoreUtil.GetKeystorePath(TestKeystoreUtil.CERTIFICATE_PATH)), FrejaEnvironment.TEST)
                            .SetTestModeCustomUrl(CUSTOM_URL).SetTransactionContext(TransactionContext.PERSONAL).Build <AuthenticationClient>();
     StopServer();
 }
Exemple #31
0
 internal static bool TryGetOAuthClient(string provider, out IAuthenticationClient client)
 {
     if (_authenticationClients.ContainsKey(provider))
     {
         client = _authenticationClients[provider].AuthenticationClient;
         return(true);
     }
     else
     {
         client = null;
         return(false);
     }
 }
Exemple #32
0
        public OrchardAuthenticationClientData(
            IAuthenticationClient authenticationClient,
            string displayName,
            bool isWebLoginEnabled,
            IDictionary <string, object> extraData)
        {
            Argument.ThrowIfNull(authenticationClient, "authenticationClient");

            AuthenticationClient  = authenticationClient;
            DisplayName           = displayName;
            ExtraData             = extraData;
            IsWebSiteLoginEnabled = isWebLoginEnabled;
        }
Exemple #33
0
        public MembershipService(
            IAuthenticationClient authenticationClient,
            ILoggerService loggerService,
            IBasketService basketService)
        {
            _authenticationClient = authenticationClient;
            _loggerService        = loggerService;
            _basketService        = basketService;

            _shopCookieService    = ServiceLocator.Current.GetInstance <ICookieService>(ShopCookieInfo.AuthCookieName);
            _profileCookieService =
                ServiceLocator.Current.GetInstance <ICookieService>(ProfileCookieInfo.ProfileCookieName);
        }
Exemple #34
0
 protected WebRequestSignatureService(ILogger logger, Uri serviceUri, IAuthenticationClient client)
 {
     if (client == null)
     {
         throw new ArgumentNullException(nameof(client));
     }
     if (serviceUri == null)
     {
         throw new ArgumentNullException(nameof(serviceUri));
     }
     Logger     = logger;
     ServiceUri = serviceUri;
     _client    = client;
 }
        private void RelyingPartyNull_success(InitiateAuthenticationRequest initiateAuthenticationRequest)
        {
            InitiateAuthenticationResponse expectedResponse = new InitiateAuthenticationResponse(CommonTestData.REFERENCE);

            CommonTestData.HttpServiceMock.Setup(x => x.Send <InitiateAuthenticationResponse>(It.IsAny <Uri>(), It.IsAny <string>(), It.IsAny <InitiateAuthenticationRequest>(), null)).Returns(expectedResponse);

            IAuthenticationClient authenticationClient = AuthenticationClient.Create(SslSettings.Create(TestKeystoreUtil.GetKeystorePath(TestKeystoreUtil.KEYSTORE_PATH_PKCS12), TestKeystoreUtil.KEYSTORE_PASSWORD, TestKeystoreUtil.GetKeystorePath(TestKeystoreUtil.CERTIFICATE_PATH)), FrejaEnvironment.TEST)
                                                         .SetHttpService(CommonTestData.HttpServiceMock.Object)
                                                         .SetTransactionContext(TransactionContext.PERSONAL).Build <AuthenticationClient>();
            string reference = authenticationClient.Initiate(initiateAuthenticationRequest);

            CommonTestData.HttpServiceMock.Verify(x => x.Send <InitiateAuthenticationResponse>(new Uri(FrejaEnvironment.TEST + MethodUrl.AUTHENTICATION_INIT), RequestTemplate.INIT_AUTHENTICATION_TEMPLATE, initiateAuthenticationRequest, null));
            Assert.AreEqual(CommonTestData.REFERENCE, reference);
        }
        public AuthenticationResult VerifyAuthentication(IAuthenticationClient authenticationProvider, string returnUrl)
        {
            string parameterValue;
            //			if (!this.ValidateRequestAgainstXsrfAttack(out parameterValue))
            //			{
            //				return new AuthenticationResult(false, authenticationProvider.ProviderName, null, null, null);
            //			}
            OAuth2Client oAuth2Client = authenticationProvider as OAuth2Client;
            if (oAuth2Client != null)
            {
                Uri uri = new Uri(returnUrl);
            //				if (!string.IsNullOrEmpty(returnUrl))
            //				{
            //					uri = UriHelper.ConvertToAbsoluteUri(returnUrl, HttpContext);
            //				}
            //				else
            //				{
            //					uri = MessagingUtilities.GetPublicFacingUrl(HttpContext.Request);
            //				}
            //				uri = uri.AttachQueryStringParameter("__provider__", authenticationProvider.ProviderName);
            //				uri = uri.AttachQueryStringParameter("__sid__", parameterValue);
                AuthenticationResult result;
                try
                {
                    AuthenticationResult authenticationResult = oAuth2Client.VerifyAuthentication(HttpContext, uri);
                    if (!authenticationResult.IsSuccessful)
                    {
                        authenticationResult = new AuthenticationResult(false, authenticationProvider.ProviderName, null, null, null);
                    }
                    result = authenticationResult;
                    return result;
                }
                catch (HttpException ex)
                {
                    result = new AuthenticationResult(ex.GetBaseException(), authenticationProvider.ProviderName);
                    return result;
                }
                return result;
            }

            return authenticationProvider.VerifyAuthentication(HttpContext);
        }
 public Microsoft(string clientId, string clientSecret)
 {
   AuthenticationClient = new MicrosoftClient(clientId, clientSecret);
 }
 public void RequestAuthentication(IAuthenticationClient client, IOpenAuthDataProvider provider, string returnUrl)
 {
 }
 internal static bool TryGetOAuthClient(string provider, out IAuthenticationClient client)
 {
     if (_authenticationClients.ContainsKey(provider))
     {
         client = _authenticationClients[provider].AuthenticationClient;
         return true;
     }
     else
     {
         client = null;
         return false;
     }
 }
        public static void RegisterClient(IAuthenticationClient client, string displayName, IDictionary<string, object> extraData)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }

            if (String.IsNullOrEmpty(client.ProviderName))
            {
                throw new ArgumentException(WebResources.InvalidServiceProviderName, "client");
            }

            if (_authenticationClients.ContainsKey(client.ProviderName))
            {
                throw new ArgumentException(WebResources.ServiceProviderNameExists, "client");
            }

            var clientData = new AuthenticationClientData(client, displayName, extraData);
            _authenticationClients.Add(client.ProviderName, clientData);
        }
 public static void RegisterClient(IAuthenticationClient client)
 {
     RegisterClient(client, displayName: null, extraData: new Dictionary<string, object>());
 }
 public Twitter(string clientId, string clientSecret)
 {
   AuthenticationClient = new TwitterClient(clientId, clientSecret);
 }
 private ActionResult Authenticate(IAuthenticationClient client)
 {
     try
     {
         var auth = client.VerifyAuthentication(HttpContext);
         if (auth.IsSuccessful)
         {
             FormsAuthentication.SetAuthCookie(auth.UserName, false);
         }
         return RedirectToAction("Index", "Home");
     }
     catch (InvalidOperationException)
     {
         // If the verification failed we have to redirect
         client.RequestAuthentication(HttpContext, Request.Url);
         return null;
     }
 }
        public static void RegisterClient(IAuthenticationClient client)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }

            if (String.IsNullOrEmpty(client.ProviderName))
            {
                throw new ArgumentException(WebResources.InvalidServiceProviderName, "client");
            }

            if (_authenticationClients.Contains(client))
            {
                throw new ArgumentException(WebResources.ServiceProviderNameExists, "client");
            }

            _authenticationClients.Add(client);
        }
 public Google(string clientId, string clientSecret)
 {
   AuthenticationClient = new GoogleOpenIdClient();
 }
 public LinkedIn(string clientId, string clientSecret)
 {
   AuthenticationClient = new LinkedInClient(clientId, clientSecret);
 }
 public void RequestAuthentication(IAuthenticationClient client, IOpenAuthDataProvider provider, string returnUrl)
 {
     var securityManager = new OpenAuthSecurityManager(
         new HttpContextWrapper(HttpContext.Current), client, provider);
     securityManager.RequestAuthentication(returnUrl);
 }
 public Facebook(string clientId, string clientSecret)
 {
   AuthenticationClient = new FacebookClient(clientId, clientSecret);
 }
 public static void RegisterClient(IAuthenticationClient client,
     string displayName, IDictionary<string, object> extraData)
 {
     var clientData = new AuthenticationClientData(client, displayName, extraData);
     _authenticationClients.Add(client.ProviderName, clientData);
 }
 public AuthenticationResult VerifyAuthentication(IAuthenticationClient client, IOpenAuthDataProvider provider, string returnUrl)
 {
     return new AuthenticationResult(true);
 }
 public Yahoo(string clientId, string clientSecret)
 {
   AuthenticationClient = new YahooOpenIdClient();
 }
 public AuthController(IAuthenticationClient authenticationClient, IFormsAuthentication formsAuthentication)
 {
     this.authenticationClient = authenticationClient;
     this.formsAuthentication = formsAuthentication;
 }