diff --git a/config/install/social_auth.settings.yml b/config/install/social_auth.settings.yml
index 9118a21..a4c7c16 100644
--- a/config/install/social_auth.settings.yml
+++ b/config/install/social_auth.settings.yml
@@ -3,3 +3,4 @@ post_login: /user
 redirect_user_form: FALSE
 disable_admin_login: TRUE
 disabled_roles: []
+user_allowed: ['register', 'login']
diff --git a/config/schema/social_auth.schema.yml b/config/schema/social_auth.schema.yml
index cbd3a84..2ab3069 100644
--- a/config/schema/social_auth.schema.yml
+++ b/config/schema/social_auth.schema.yml
@@ -5,6 +5,9 @@ social_auth.settings:
     post_login_path:
       type: string
       label: 'Drupal path where the user should be redirected after successful login.'
+    user_allowed:
+      type: array
+      label: 'What can users do?'
     redirect_user_form:
       type: boolean
       label: 'Redirects to Drupal user form after the user is created if checked.'
diff --git a/social_auth.install b/social_auth.install
index a988ac9..9b296cc 100644
--- a/social_auth.install
+++ b/social_auth.install
@@ -39,3 +39,12 @@ function social_auth_update_8002(&$sandbox) {
   }
   $config->save();
 }
+
+/**
+ * Implements hook_update_N().
+ */
+function social_auth_update_8003(&$sandbox) {
+  $config = \Drupal::configFactory()->getEditable('social_auth.settings');
+  // Set and save new message value.
+  $config->set('user_allowed', array('register', 'login'))->save();
+}
diff --git a/src/Form/SocialAuthSettingsForm.php b/src/Form/SocialAuthSettingsForm.php
index d61658d..9376bdf 100644
--- a/src/Form/SocialAuthSettingsForm.php
+++ b/src/Form/SocialAuthSettingsForm.php
@@ -92,6 +92,16 @@ class SocialAuthSettingsForm extends ConfigFormBase {
       '#default_value' => $social_auth_config->get('post_login'),
     );
 
+    $form['social_auth']['user_register'] = array(
+      '#type' => 'radios',
+      '#title' => $this->t('What can users do?'),
+      '#default_value' => $social_auth_config->get('user_allowed'),
+      '#options' => array(
+        'register' => $this->t('Register Only'),
+        'login' => $this->t('Login Only'),
+      ),
+    );
+
     $form['social_auth']['redirect_user_form'] = array(
       '#type' => 'checkbox',
       '#title' => $this->t('Redirect new users to Drupal user form'),
@@ -156,6 +166,7 @@ class SocialAuthSettingsForm extends ConfigFormBase {
     $values = $form_state->getValues();
     $this->config('social_auth.settings')
       ->set('post_login', $values['post_login'])
+      ->set('user_register', $values['user_register'])
       ->set('redirect_user_form', $values['redirect_user_form'])
       ->set('disable_admin_login', $values['disable_admin_login'])
       ->set('disabled_roles', $values['disabled_roles'])
diff --git a/src/SocialAuthUserManager.php b/src/SocialAuthUserManager.php
index 7764284..d6d7146 100644
--- a/src/SocialAuthUserManager.php
+++ b/src/SocialAuthUserManager.php
@@ -160,7 +160,10 @@ class SocialAuthUserManager {
       drupal_set_message($this->t('Authentication for Admin (user 1) is disabled.'), 'error');
       return $this->redirect('user.login');
     }
-
+    if ($this->isLoginDisabled()) {
+      drupal_set_message($this->t('Login is disabled for users.'), 'error');
+      return $this->redirect('user.login');
+    }
     // If user can not login because of their role.
     $disabled_role = $this->isUserRoleDisabled($drupal_user);
     if ($disabled_role) {
@@ -348,15 +351,32 @@ class SocialAuthUserManager {
   }
 
   /**
-   * Checks if user registration is blocked in Drupal account settings.
+   * Checks if user login is disabled in Social Auth settings.
+   *
+   * @return bool
+   *   True if login is disabled
+   *   False if login is not disabled
+   */
+  protected function isLoginDisabled() {
+    // Check if Login is disabled in Social Auth Settings.
+    if (!in_array('login', $this->configFactory->get('social_auth.settings')->get('user_allowed'))) {
+      return TRUE;
+    }
+
+    return FALSE;
+  }
+
+  /**
+   * Checks if user registration is blocked.
    *
    * @return bool
    *   True if registration is blocked
    *   False if registration is not blocked
    */
   protected function registrationBlocked() {
-    // Check if Drupal account registration settings is Administrators only.
-    if ($this->configFactory->get('user.settings')->get('register') == 'admin_only') {
+    // Check if Drupal account registration settings is Administrators only
+    // OR if it is disabled in Social Auth Settings.
+    if ($this->configFactory->get('user.settings')->get('register') == 'admin_only' || !in_array('register', $this->configFactory->get('social_auth.settings')->get('user_allowed'))) {
       return TRUE;
     }
 
