code: def authenticate_account(self, authc_token):
          
          try:
              identifier = authc_token.identifier
          except AttributeError:
              msg = 'Failed to obtain authc_token.identifiers'
              raise AttributeError(msg)
  
          tc = authc_token.__class__
          try:
              verifier = self.token_resolver[tc]
          except KeyError:
              raise TypeError('realm does not support token type: ', tc.__name__)
  
          account = self.get_authentication_info(identifier)
  
          try:
              if account.get('account_locked'):
                  msg = "Account Locked:  {0} locked at: {1}".\
                      format(account['account_id'], account['account_locked'])
                  raise LockedAccountException(msg)
          except (AttributeError, TypeError):
              if not account:
                  msg = "Could not obtain account credentials for: " + str(identifier)
                  raise AccountException(msg)
  
          self.assert_credentials_match(verifier, authc_token, account)
  
          return account
docs: :type authc_token: authc_abcs.AuthenticationToken
          :rtype: dict
          :raises IncorrectCredentialsException:  when authentication fails