예제 #1
0
def create_tokens(db: Session, user_id: int, at: str):
    """パスワード認証を行い、トークンを生成"""
    # ペイロード作成
    access_payload = {
        'token_type': 'access_token',
        'exp': datetime.utcnow() + timedelta(minutes=60),
        'user_id': user_id,
    }
    refresh_payload = {
        'token_type': 'refresh_token',
        'exp': datetime.utcnow() + timedelta(days=90),
        'user_id': user_id,
    }

    # トークン作成(本来は'SECRET_KEY123'はもっと複雑にする)
    access_token = jwt.encode(access_payload, random_key, algorithm='HS256')
    refresh_token = jwt.encode(refresh_payload, random_key, algorithm='HS256')

    # DBにリフレッシュトークンを保存
    # db.query(User).update({"refresh_token": refresh_token}).filter(User.id == user_id).values()
    # User.update(refresh_token=refresh_token).where(User.id == user_id).execute()
    user = schemas.User(id=user_id, foursquare_at=at)
    crud.create_user_item(db, user)


    return {'access_token': access_token, 'refresh_token': refresh_token, 'token_type': 'bearer'}
예제 #2
0
def create_item_for_user(user_id: int,
                         item: schemas.ItemCreate,
                         db: Session = Depends(get_db)):
    return crud.create_user_item(db=db, item=item, user_id=user_id)
예제 #3
0
def create_item_for_user(user_id: int, item: schemas.ItemCreate):
    return crud.create_user_item(item=item, user_id=user_id)