def verify_authorization(self, oauth_verifier, oauth_token = None):
    """Verifies the authentication given by a user after they've been
      to twitter.

      Adds the new token to the store and saves.

      Returns a complete set of auth data."""

    # Hack to maintain backwards compatibility when only one token is used.
    if oauth_token == None:
      try:
        oauth_token = self.request_tokens.keys()[0]
      except IndexError:
        raise Exception("No access token exists currently")

    try:
      # Get the actual token for this request
      request_token = self.request_tokens[oauth_token]
    except __HOLE__:
      raise Exception("Supplied access token has not been seen before")

    token = oauth2.Token(request_token['oauth_token'], request_token['oauth_token_secret'])
    
    token.set_verifier(oauth_verifier)
    client = oauth2.Client(self.consumer, token)
    resp, content = client.request(self.access_token_url, "POST")
    access_token = dict(urlparse.parse_qsl(content))

    return {
        "screen_name": access_token['screen_name'],
        "access_token_key": access_token['oauth_token'],
        "access_token_secret": access_token['oauth_token_secret'], 
        "consumer_key": self.oauth_consumer_token,
        "consumer_secret": self.oauth_consumer_secret
      }
dataset/ETHPy150Open domrout/python-twitter-wrapper/twitterwrapper/access_tokens.py/AuthenticationProcess.verify_authorization