コード例 #1
0
def test_user_failed_credentials():

    with pytest.raises(AuthenticationError):
        User.verify_credentials(
            '*****@*****.**',
            user_info['password']
        )
コード例 #2
0
ファイル: views.py プロジェクト: haisum/dictionary
def create_or_login(resp):
	session['openid'] = resp.identity_url

	user_model = User()
	user = user_model.find({'email' : resp.email})[0]
	if user is None:
		user_data = structure = {
			"nick" : resp.nickname or resp.fullname,
			"fullname" : resp.fullname,
			"email" : resp.email,
			"favourites" : [],
			"roles" : [],
			"reputation" : 1,
			"logins" : [{
				'ip' : request.remote_addr,
				'date_loggedin' : datetime.utcnow().isoformat(),
			}],
			"about" : "",
			"language" : resp.language,
			"timezone" : resp.timezone
		}
		user_data["_id"] = user_model.insert(user_data)
		session["userid"] = str(user_data["_id"])
		app.logger.log(json.dumps(session))
	else:
		user_model.update({"_id" : user["_id"]}, {"$push" : {"logins" : {
			"ip" : request.remote_addr,
			"date_loggedin" : datetime.utcnow().isoformat(),
		}}})
		session["userid"] = str(user["_id"]) 
	return redirect(url_for("bp_word.home")) 
コード例 #3
0
ファイル: __init__.py プロジェクト: haisum/dictionary
def create_temp_userid_cookie_response(response):
	if 'openid' not in session and hasattr(g, "user"):
		response.set_cookie("tempuid", g.user["_id"], max_age = 365*24*60*60)
	else:
		from modules.user.models import User
		user = User()
		record = user.find({"_id" : ObjectId(session["userid"])})[0]
		g.user = dict(record)
		g.user["_id"] = str(g.user["_id"])
	return response
コード例 #4
0
def test_create_user():
    new_user = User(**user_info)
    new_user.save()

    assert new_user.email == user_info['email']
    assert new_user.name == user_info['name']
    assert bcrypt.check_password_hash(
        new_user.password,
        user_info['password']
        ) is True
コード例 #5
0
def create_temp_userid_cookie_response(response):
    if 'openid' not in session and hasattr(g, "user"):
        response.set_cookie("tempuid",
                            g.user["_id"],
                            max_age=365 * 24 * 60 * 60)
    else:
        from modules.user.models import User
        user = User()
        record = user.find({"_id": ObjectId(session["userid"])})[0]
        g.user = dict(record)
        g.user["_id"] = str(g.user["_id"])
    return response
コード例 #6
0
ファイル: __init__.py プロジェクト: haisum/dictionary
def create_temp_userid_cookie():
	session.permanent = True
	app.permanent_session_lifetime = timedelta(days=31)
	if 'openid' not in session:
		if request.cookies.get("tempuid") is None:
			g.user = {"_id" : os.urandom(4)}
		else:
			g.user = {"_id" : request.cookies.get("tempuid")}
	else:
		from modules.user.models import User
		user = User()
		record = user.find({"_id" : ObjectId(session["userid"])})[0]
		g.user = dict(record)
		g.user["_id"] = str(g.user["_id"])
コード例 #7
0
def create_temp_userid_cookie():
    session.permanent = True
    app.permanent_session_lifetime = timedelta(days=31)
    if 'openid' not in session:
        if request.cookies.get("tempuid") is None:
            g.user = {"_id": os.urandom(4)}
        else:
            g.user = {"_id": request.cookies.get("tempuid")}
    else:
        from modules.user.models import User
        user = User()
        record = user.find({"_id": ObjectId(session["userid"])})[0]
        g.user = dict(record)
        g.user["_id"] = str(g.user["_id"])
コード例 #8
0
        def decorated_function(*args, **kwargs):
            header = request.headers.get(header_name)

            if not header:
                raise AuthenticationError(error_code=0, payload=payload_header)

            req_user_id = auth_token_db.get(header).decode()
            req_user = User.get(req_user_id)

            if not req_user_id or not req_user:
                raise AuthenticationError(error_code=0, payload=payload_token)

            request.context = Ctx(
                header,
                req_user,
            )

            if not any(permission.permission.name in permission_to_ignore_rules
                       for permission in req_user.permissions):
                if request_by_same_id and request.view_args.get(
                        'user_id') != req_user.id:
                    raise AuthenticationError(error_code=1,
                                              payload=payload_user)

                if only_for and not any(
                        permission.permission.name in only_for
                        for permission in req_user.permissions):
                    raise AuthenticationError(error_code=2,
                                              status_code=403,
                                              payload={'reason': 'permission'})

            return func(*args, **kwargs)
コード例 #9
0
 def pre_delete(cls, sender, document, **kwargs):
     if 'forceDelete' in kwargs and kwargs['forceDelete']:
         current_user = User.objects(id=session['current_user_id']).first()
         app.logger.warning(
             "*** {}.pre_delete fired with attribute `forceDelete` by: {}".
             format(cls.__name__, current_user.full_name))
         try:
             for action in StockAction.objects(_key_stock=document.id):
                 action.delete()
         except Exception as e:
             app.logger.error(
                 "*** {}.pre_delete.force_delete occurred an exception *ERROR: {}"
                 .format(cls.__name__, [e, e.with_traceback]))
コード例 #10
0
def create_or_login(resp):
    session['openid'] = resp.identity_url

    user_model = User()
    user = user_model.find({'email': resp.email})[0]
    if user is None:
        user_data = structure = {
            "nick":
            resp.nickname or resp.fullname,
            "fullname":
            resp.fullname,
            "email":
            resp.email,
            "favourites": [],
            "roles": [],
            "reputation":
            1,
            "logins": [{
                'ip': request.remote_addr,
                'date_loggedin': datetime.utcnow().isoformat(),
            }],
            "about":
            "",
            "language":
            resp.language,
            "timezone":
            resp.timezone
        }
        user_data["_id"] = user_model.insert(user_data)
        session["userid"] = str(user_data["_id"])
        app.logger.log(json.dumps(session))
    else:
        user_model.update({"_id": user["_id"]}, {
            "$push": {
                "logins": {
                    "ip": request.remote_addr,
                    "date_loggedin": datetime.utcnow().isoformat(),
                }
            }
        })
        session["userid"] = str(user["_id"])
    return redirect(url_for("bp_word.home"))
コード例 #11
0
def new_user(_db):
    user = User(email='*****@*****.**', name='Test', password='******')
    user.save(commit=True)

    return user
コード例 #12
0
 def create_auths(**kwargs):
     return auth_logic(User.verify_credentials(**kwargs))
コード例 #13
0
def test_user_credentials():
    user = User.verify_credentials(user_info['email'], user_info['password'])
    assert user.email == user_info['email']