2013-07-30 9 views
5

LinkedIn、Google、Facebookで私たちのアプリケーションでソーシャル認証を実装しようとしています。私は現在、アプリケーションのユーザー/ロールを管理するためにフラスコセキュリティを使用しています。私は、Flask/Flask-SecurityとSocial Authenticationのベストプラクティスに関するガイダンスを探しています。Flaskでソーシャルログインを実装する

私はフラスコ - ソーシャルプラグインを見てきましたが、私はローカルフォームベースのログインのオプションも持っていたいと思います。

これまで、フラスコセキュリティのための新しいログインビューの実装については、私がソーシャルサイトを使用しているかどうか(ユーザーが「XYZでログイン」をクリックしたときにクエリパラメータを渡すことによって)ログイン。ソーシャル認証が行われた後、通常のフラスコセキュリティログインを実行して、適切なセッショントークンとユーザーとロールをすべて設定し、@ login_requiredデコレータが引き続き動作するようにしました。

フラスコセキュリティのログインビュー機能をオーバーライドするためのフックが実際に表示されていないため、1)既存の実装を自分のアプリにコピーするか、2)flask_security_views :: loginを呼び出します。

しかし、既にどこかで実装されているものがあるか、より良いスタートがあるかどうかは疑問です。私は実際にたくさんの既存のコードを切り詰めているようです。

ありがとうございました

+2

"私はフラスコ - ソーシャルプラグインを見たことがありますが、ローカルフォームベースのログインのオプションもありたいです。" Flask-Socialでこれを行うことができます。私はこれを行う例がある[Flask Social Example](https://github.com/mattupstate/flask-social-example)を見ることをお勧めします。フォームベースのログインの場合は、HTMLフォームに 'security.login'のURLを指定します。ソーシャル・ログインを行うには、ユーザーに 'social.login'を指示します。 –

答えて

1

マークヒルダートは正しいです。

フラスコソーシャルでは、フォーム(ユーザー名/パスワード)または社交を通じてログインできます。 フラスコセキュリティ、フラスコログイン、またはパスワードベースの認証が必要な場合は、これをフラスコセキュリティ、フラスコログインなどと組み合わせて使用​​できます。私は、フラスコ - セキュリティとフラスコ - ソーシャルを併用しており、それらが非常によく機能することを確認することができます。

フラスコ - ソーシャルリンクUser個別のテーブル/データストアに保存されているゼロ以上の追加のソーシャルアカウント。したがって、既存のパスワードインフラストラクチャに取って代わるものではありません。Userモデルを追加し、追加のソーシャルメソッドを追加するだけで、ユーザーはソーシャルアカウント経由でログインすることもできます。

関連する問題