2013-05-09 76 views
0

我想用燒瓶爲了向android應用程序提供基於http的web服務。我發現flask-login是管理身份驗證的最簡單方式,但它似乎面向基於模板的Web應用程序。有沒有辦法使用Flask管理Web服務的身份驗證?

是否有另一種基於Web服務的認證解決方案?

+0

基於模板的Web應用程序是什麼意思?使用燒瓶登錄有什麼問題? – 2013-05-09 13:27:42

+0

我的意思是對於標準網頁而不是Web服務,使用REST Web服務你不能有會話,所以燒瓶登錄模塊將無法完成這項工作。 – 2013-05-09 16:05:20

+1

除非您正在使用某種類型的共享機密,否則REST服務仍然需要能夠處理會話和/或身份驗證密鑰(否則您無法驗證身份並*然後*執行對必要終端的調用)。我誤解了什麼嗎? – 2013-05-09 17:47:16

回答

2

Flask-Login很好的解決方案。您可以添加一個裝飾的觀點:

def login_required(): 
    def wrapper(fn): 
     @wraps(fn) 
     def decorated_view(*args, **kwargs): 
      if not current_user.is_authenticated(): 
       abort(401) 
       # return jsonify(status='logged_off') 
      return fn(*args, **kwargs) 
     return decorated_view 
    return wrapper 

所以,如果用戶不認可與login_required裝飾回報401 Unauthorized響應(或自定義消息有效的響應,如果你想要的)任何觀點。