code: def do_implicit_flow_authorization(self, session):
          
          logger.info('Doing implicit flow authorization, app_id=%s', self.app_id)
          auth_data = {
              'client_id': self.app_id,
              'display': 'mobile',
              'response_type': 'token',
              'scope': self.scope,
              'redirect_uri': 'https://oauth.vk.com/blank.html',
              'v': self.api_version
          }
          response = session.post(url=self.AUTHORIZE_URL,
                                  data=stringify_values(auth_data))
          url_query_params = parse_url_query_params(response.url)
  
          if 'expires_in' in url_query_params:
              logger.info('Token will be expired in %s sec.' %
                          url_query_params['expires_in'])
          if 'access_token' in url_query_params:
              return url_query_params
  
          # Permissions are needed
          logger.info('Getting permissions')
          action_url = parse_form_action_url(response.text)
          logger.debug('Response form action: %s', action_url)
  
          if action_url:
              response = session.get(action_url)
              url_query_params = parse_url_query_params(response.url)
              return url_query_params
          try:
              response_json = response.json()
          except ValueError:  # not JSON in response
              error_message = 'OAuth2 grant access error'
              logger.error(response.text)
          else:
              error_message = 'VK error: [{}] {}'.format(
                  response_json['error'], response_json['error_description'])
          logger.error('Permissions obtained')
          raise VkAuthError(error_message)
docs: Standard OAuth2 authorization method. It's used for getting access token
          More info: https://vk.com/dev/implicit_flow_user