このコードのgの使い方が不明でいます。なぜ,application contextに保持する必要があるのでしょうか?
また、以下のデコレータ(例えば、@api.before_request、@auth.login_required)が以下のURLから定義が記載されている箇所がみあたりません。どういうふうに使われいるのでしょうか?
*追記
@auth.login_requiredについては以下のURLに記載されている。
https://www.safaribooksonline.com/videos/building-web-apis/9781491912393/9781491912393-video190363
https://github.com/miguelgrinberg/flasky/blob/master/app/api/authentication.py
from flask import g, jsonify from flask_httpauth import HTTPBasicAuth from ..models import User from . import api from .errors import unauthorized, forbidden auth = HTTPBasicAuth() @auth.verify_password def verify_password(email_or_token, password): if email_or_token == '': return False if password == '': g.current_user = User.verify_auth_token(email_or_token) g.token_used = True return g.current_user is not None user = User.query.filter_by(email=email_or_token).first() if not user: return False g.current_user = user g.token_used = False return user.verify_password(password) @auth.error_handler def auth_error(): return unauthorized('Invalid credentials') @api.before_request @auth.login_required def before_request(): if not g.current_user.is_anonymous and \ not g.current_user.confirmed: return forbidden('Unconfirmed account') @api.route('/tokens/', methods=['POST']) def get_token(): if g.current_user.is_anonymous or g.token_used: return unauthorized('Invalid credentials') return jsonify({'token': g.current_user.generate_auth_token( expiration=3600), 'expiration': 3600})
あなたの回答
tips
プレビュー