Esempio n. 1
0
 def GET(self,provider):
   if provider!="sina":
     return "todo"      
   code=web.input().get("code")
   client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
   r = client.request_access_token(code)
   access_token = r.access_token
   expires_in = r.expires_in
   client.set_access_token(access_token, expires_in)
   uid =r.uid
   weibouser=client.get.users__show(uid=uid)
   sinaid=weibouser.get("id")
   authbind=Auth_bind.objects(opid="sina"+str(sinaid)).first()
   if authbind==None:
     avatar_large=weibouser.get("avatar_large")
     avatar=weibouser.get("profile_image_url")
     username=weibouser.get("screen_name")
     username=username+"21223"
     #??????          I
     ID=User.objects.count() + 101
     u=User(username=username,email="!!sina2"+str(sinaid),password="",ID=ID)
     u.avatar=avatar
     u.avatar_big=avatar_large
     u.save()
     a=Auth_bind(ID=ID,opid="sina"+str(sinaid),access_token=access_token,expires_in=str(expires_in))
     a.save()
     Auth.set_login(u.id,username.encode("utf-8"))
     return  web.seeother("/")
   else:
      ID=authbind.ID
      user=User.objects(ID=ID).first()
      Auth.set_login(user.id,user.username.encode("utf-8"))
      return web.seeother("/")
Esempio n. 2
0
 def POST(self):
    email=web.input().get("email")
    name=web.input().get("nickname")
    passwd=web.input().get("password")
    if not( email and name and passwd):
          content= u"输入不能为空"
          return render.signup(is_login=False,content=content)  
    if  User.objects(email=email).first() :
          content= u"邮箱已经注册"
          return render.signup(is_login=False,content=content) 
    if   User.objects(username=name).first() :
          content =u"用户名已经被注册"
          return render.signup(is_login=False,content=content) 
    ID=User.objects.count() + 101
    user = User(username=name,email=email,password=passwd,ID=User.objects.count() + 101)
    user.avatar="default.png"
    user.avatar_big="default_big.png"
    #方便管理,只有一级目录
    user.save()
    if user : 
       Auth.set_login(user.id,name.encode("utf-8"))
       return web.seeother("/")
    else:
          content =u"用户名已经被注册"
          return render.signup(is_login=False,content=content)
Esempio n. 3
0
 def POST(self):
      email=web.input().get("email")
      passwd=web.input().get("password")
      key=passwd
      #key=hashlib.md5(passwd).hexdigest()
      user = User.objects(email=email).first()
      if not user :
          return render.login(is_login=Auth.is_login(),content=u"没有这个用户")
      if user.password==key:
          Auth.set_login(user.id,user.username)
          return web.seeother("/")
      return render.login(is_login=Auth.is_login(),content=u"密码错误")