示例#1
0
def actor_twitter_callback(request):
  logging.info("Callback URL")

  redirect_to = memcache.client.get('redirect_to')
  memcache.client.delete('redirect_to')

  view = user.get_user_from_cookie_or_legacy_auth(request)
  if view is not None:
    if view.extra.get('twitter_access_token') is None:
      twitter_user, token = util_externals.twitter_user()
      logging.info("Creating external profile after creates a token")
      ep_ref = api.create_external_profile(view.nick,
                                             'twitter',
                                             twitter_user.screen_name,
                                             str(twitter_user.id),
                                             'http://twitter.com/%s'%twitter_user.screen_name)
                                            
      view.extra['twitter_access_token'] = token
      view.put()
    
  if not redirect_to == 'autoclose':
    response = util.RedirectFlash(redirect_to,
                                  'Oauth authentication success')
    return response

  c = template.RequestContext(request, locals())
  t = loader.get_template('actor/templates/twitter_callback.html')
  return http.HttpResponse(t.render(c))
示例#2
0
文件: util.py 项目: CollabQ/CollabQ
def user_create(service, params, username="", id="", remote_url=""):
    logging.info("user_create")
    actor_ref = api.user_create(api.ROOT, **params)
    actor_ref.access_level = "delete"

    api.post(actor_ref, nick=actor_ref.nick, message="Joined %s!" % (util.get_metadata("SITE_NAME")))

    email = params.get("email", None)
    if email is not None:
        api.email_associate(api.ROOT, actor_ref.nick, email)
    else:
        key = "emailneeded_%s" % util.display_nick(actor_ref.nick)
        memcache.client.set(key, True, 360)

    key = "firsttime_%s" % util.display_nick(actor_ref.nick)
    memcache.client.set(key, True, 360)

    external_profile_ref = api.create_external_profile(actor_ref.nick, service, username, id, remote_url)

    return actor_ref