:doc:`CognitoIdentityProvider <../../cognito-idp>` / Client / admin_disable_provider_for_user

*******************************
admin_disable_provider_for_user
*******************************



.. py:method:: CognitoIdentityProvider.Client.admin_disable_provider_for_user(**kwargs)

  

  Prevents the user from signing in with the specified external (SAML or social) identity provider (IdP). If the user that you want to deactivate is a Amazon Cognito user pools native username + password user, they can't use their password to sign in. If the user to deactivate is a linked external IdP user, any link between that user and an existing user is removed. When the external user signs in again, and the user is no longer attached to the previously linked ``DestinationUser``, the user must create a new user account.

   

  The value of ``ProviderName`` must match the name of a user pool IdP.

   

  To deactivate a local user, set ``ProviderName`` to ``Cognito`` and the ``ProviderAttributeName`` to ``Cognito_Subject``. The ``ProviderAttributeValue`` must be user's local username.

   

  The ``ProviderAttributeName`` must always be ``Cognito_Subject`` for social IdPs. The ``ProviderAttributeValue`` must always be the exact subject that was used when the user was originally linked as a source user.

   

  For de-linking a SAML identity, there are two scenarios. If the linked identity has not yet been used to sign in, the ``ProviderAttributeName`` and ``ProviderAttributeValue`` must be the same values that were used for the ``SourceUser`` when the identities were originally linked using ``AdminLinkProviderForUser`` call. This is also true if the linking was done with ``ProviderAttributeName`` set to ``Cognito_Subject``. If the user has already signed in, the ``ProviderAttributeName`` must be ``Cognito_Subject`` and ``ProviderAttributeValue`` must be the ``NameID`` from their SAML assertion.

   

  .. note::

    

    Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

     

    **Learn more**

     

    
    * `Signing Amazon Web Services API Requests <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html>`__
     
    * `Using the Amazon Cognito user pools API and user pool endpoints <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html>`__
    

    

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminDisableProviderForUser>`_  


  **Request Syntax**
  ::

    response = client.admin_disable_provider_for_user(
        UserPoolId='string',
        User={
            'ProviderName': 'string',
            'ProviderAttributeName': 'string',
            'ProviderAttributeValue': 'string'
        }
    )
    
  :type UserPoolId: string
  :param UserPoolId: **[REQUIRED]** 

    The ID of the user pool where you want to delete the user's linked identities.

    

  
  :type User: dict
  :param User: **[REQUIRED]** 

    The user profile that you want to delete a linked identity from.

    

  
    - **ProviderName** *(string) --* 

      The name of the provider, such as Facebook, Google, or Login with Amazon.

      

    
    - **ProviderAttributeName** *(string) --* 

      The name of the provider attribute to link to, such as ``NameID``.

      

    
    - **ProviderAttributeValue** *(string) --* 

      The value of the provider attribute to link to, such as ``xxxxx_account``.

      

    
  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.InvalidParameterException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.TooManyRequestsException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.NotAuthorizedException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.UserNotFoundException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.AliasExistsException`

  
  *   :py:class:`CognitoIdentityProvider.Client.exceptions.InternalErrorException`

  