예제 #1
0
파일: oauth.py 프로젝트: adviti/melange
def getAccessToken(user):
  """Returns access token for an user.
  """

  access_token = memcache.get("%s;%s" %
                              (user.key().name(), system.getRawHostname()),
                              namespace='access_token')
  if isinstance(access_token, auth.OAuthToken):
    return access_token
예제 #2
0
파일: home.py 프로젝트: SRabbelier/Melange
def key(entity):
  """Returns the memcache key for an entities homepage.
  """

  host = system.getRawHostname()
  version = system.getAppVersion()
  kind = entity.kind()
  key = entity.key().id_or_name()

  return 'homepage_for_%s_%s_%s_%s' % (host, version, kind, key)
예제 #3
0
def key(entity):
    """Returns the memcache key for an entities homepage.
  """

    host = system.getRawHostname()
    version = system.getAppVersion()
    kind = entity.kind()
    key = entity.key().id_or_name()

    return 'homepage_for_%s_%s_%s_%s' % (host, version, kind, key)
예제 #4
0
  def testGetRawHostName(self):
    """Tests that a correct raw host name is returned.
    """
    try:
      host = os.environ['HTTP_HOST'] = 'some.testing.host.tld'
      expected_current_host = host
      self.assertEqual(system.getRawHostname(), expected_current_host)
    finally:
      if self.default_host is None:
        del os.environ['HTTP_HOST']
      else:
        os.environ['HTTP_HOST'] = self.default_host

    try:
      expected_host = os.environ['HTTP_HOST'] = ''
      self.assertEqual(system.getRawHostname(), expected_host)
    finally:
      if self.default_host is None:
        del os.environ['HTTP_HOST']
      else:
        os.environ['HTTP_HOST'] = self.default_host
예제 #5
0
파일: oauth.py 프로젝트: adviti/melange
def generateOAuthRedirectURL(service, user, next):
  """Returns OAuth redirect URL for authenticating user.
  """

  req_token = service.FetchOAuthRequestToken(
      scopes=settings.GDATA_SCOPES,
      oauth_callback='http://%s%s' % (system.getRawHostname(), next))
  memcache.add(user.key().name(), req_token.secret, 300,
               namespace='request_token_secret')
  approval_page_url = service.GenerateOAuthAuthorizationURL(
      extra_params={'hd': 'default'})
  return approval_page_url
예제 #6
0
파일: oauth.py 프로젝트: adviti/melange
def checkOAuthVerifier(service, data):
  """Checks for OAuth verifier and exchanges token with access token.
  """

  request = data.request
  user = data.user
  oauth_token = auth.OAuthTokenFromUrl(
      request.get_full_path())
  if oauth_token:
    oauth_token.secret = memcache.get(user.key().name(),
                                      namespace='request_token_secret')
    oauth_token.oauth_input_params = service.GetOAuthInputParameters()
    service.SetOAuthToken(oauth_token)

    oauth_verifier = request.GET.get('oauth_verifier', '')
    access_token = service.UpgradeToOAuthAccessToken(
        oauth_verifier=oauth_verifier)

    if access_token:
      memcache.set('%s;%s' %
                   (user.key().name(), system.getRawHostname()),
                   access_token, namespace='access_token')
예제 #7
0
파일: oauth.py 프로젝트: adviti/melange
def deleteAccessToken(user):
  """Deletes access token of user.
  """

  memcache.set("%s;%s" % (user.key().name(), system.getRawHostname()),
               None, namespace='access_token')