2011-03-30 113 views
19

With Flask-OpenID對於Flask框架,有一個非常好的OpenID模塊。 但是,Facebook只支持FBconnect,並沒有真正的OpenID。Facebook Connect for Flask

我正在尋找Flask-OpenID(如果存在)的修改版本,它支持FBconnect或以類似於Flask-OpenID的方式進行FBconnect驗證的庫。

+0

甚至不能標記這一個。一個鑽石模塊問一個離題的問題:'問題要求我們推薦或找到一個工具,圖書館或最喜歡的非現場資源是堆棧溢出題外話,因爲他們傾向於吸引輿論的答案和垃圾郵件。' – devnull 2013-12-16 08:04:07

+0

嘿,我當問這個問題時,它還不是一個MOD!無論如何,請隨時提交簡歷 - 我認爲不需要進一步的答案。 – ThiefMaster 2013-12-16 11:49:21

回答

32

Flask-OAuth擴展支持Facebook驗證:

facebook = oauth.remote_app('facebook', 
    base_url='https://graph.facebook.com/', 
    request_token_url=None, 
    access_token_url='/oauth/access_token', 
    authorize_url='https://www.facebook.com/dialog/oauth', 
    consumer_key=FACEBOOK_APP_ID, 
    consumer_secret=FACEBOOK_APP_SECRET, 
    request_token_params={'scope': 'email'} 
) 

這裏是一個完整的Facebook的例子:https://github.com/mitsuhiko/flask-oauth/blob/master/example/facebook.py

+0

最初的Flask-OAuth遭受缺乏維護,而oauthlib是python-oauth2的有希望的替代品。 Flask-OAuthlib旨在替代Flask-OAuth。這取決於oauthlib。 – Hieu 2016-12-01 11:55:44

6

您可能還需要籤瓶,社會以及(這是Flask-上的一個擴展安全)。我正在自己設置它,但到目前爲止沒有問題。如果你不熟悉的話,Flask-Security將Flask-Login,Flask-Principal和其他幾個擴展組合起來構成一個快速安全層,而Flask-Social增加了OAuth功能。

+0

因此,對於我希望用戶可以通過Facebook或Twitter登錄的應用程序,然後設置不同的角色等,這兩個擴展(及其依賴)仍然(兩年後)盒解決方案?他們似乎沒有被@ miguelgrinberg最近的Flask Web Development書所覆蓋(但我有早期版本)。 – bahmait 2014-06-04 15:49:45