예제 #1
0
def connect(provider):
    if provider == "renren":
        return "人人的api因为备案问题尚未审核通过,请先绑定其他平台吧,比如豆瓣:)"
    #return "thepast.me 正在升级硬件,暂时不提供登录、注册功能,请谅解,有问题请邮件到 [email protected]"

    client = None
    if provider == config.OPENID_DOUBAN:
        client = Douban()
    elif provider == config.OPENID_SINA:
        client = SinaWeibo()
    elif provider == config.OPENID_TWITTER:
        client = TwitterOAuth1()
    elif provider == config.OPENID_QQ:
        client = QQWeibo()
    elif provider == config.OPENID_RENREN:
        client = Renren()
    elif provider == config.OPENID_INSTAGRAM:
        client = Instagram()
    if not client:
        abort(400, "不支持该第三方登录")

    try:
        login_uri = client.login()
    except OAuthError, e:
        log.warning(e)
        abort(400, "抱歉,跳转到第三方失败,请重新尝试一下:)")
예제 #2
0
파일: view.py 프로젝트: zhukaixy/thepast
def connect(provider):
    if provider == "renren":
        return "我已经实在受不了人人,被人人的管理员快搞死了,怎么修改都不通过,唉...  有兴趣可以看看这边豆瓣网友的帖子:http://www.douban.com/note/250372684/"
    #return "thepast.me 正在升级硬件,暂时不提供登录、注册功能,请谅解,有问题请邮件到 [email protected]"

    client = None
    if provider == config.OPENID_DOUBAN:
        client = Douban()
    elif provider == config.OPENID_SINA:
        client = SinaWeibo()
    elif provider == config.OPENID_TWITTER:
        client = TwitterOAuth1()
    elif provider == config.OPENID_QQ:
        client = QQWeibo()
    elif provider == config.OPENID_RENREN:
        client = Renren()
    elif provider == config.OPENID_INSTAGRAM:
        client = Instagram()
    if not client:
        abort(400, "不支持该第三方登录")

    try:
        login_uri = client.login()
    except OAuthError, e:
        log.warning(e)
        abort(400, "抱歉,跳转到第三方失败,请重新尝试一下:)")
예제 #3
0
def _qqweibo_callback(request):
    openid_type = config.OPENID_TYPE_DICT[config.OPENID_QQ]
    client = QQWeibo()

    ## from qqweibo
    token = request.args.get("oauth_token")
    verifier = request.args.get("oauth_verifier")

    ## from session
    token_secret_pair = client.get_request_token_from_session(session)
    if token == token_secret_pair['key']:
        client.set_token(token, token_secret_pair['secret'])
    ## get access_token from qq
    token, token_secret = client.get_access_token(verifier)
    user = client.get_user_info()

    token_dict = {}
    token_dict['access_token'] = token
    #TODO:这里refresh_token其实就是access_token_secret
    token_dict['refresh_token'] = token_secret
    user = _save_user_and_token(token_dict, user, openid_type)

    return user