Flask-Social: Python Web アプリケーションにソーシャル ログインを追加する
ソーシャル メディアの急速な発展に伴い、ユーザーの登録とログイン プロセスを簡素化するためにソーシャル ログインを使用する Web サイトやアプリケーションがますます増えています。ただし、このような機能を実装するのは簡単ではありません。 OAuth プロトコル経由でソーシャル ネットワークと対話するにはどうすればよいですか?取得したユーザー情報はどのように利用するのですか?権限とセキュリティにどう対処するか?幸いなことに、この機能をより簡単に実現できる、Flask-Social のような優れた Python アプリケーション拡張機能があります。この記事では、Flask-Social の使い方と基本原理を紹介します。
Flask-Social のインストールと構成
まず、Flask-Social をインストールする必要があります。 pip ツールを使用して迅速にインストールします。
pip install Flask-Social
インストールが完了したら、Flask プロジェクトで Flask-Social を構成する必要があります。まず、これを Flask アプリケーションに導入します。
from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask.ext.social import Social from flask.ext.social.datastore import SQLAlchemyConnectionDatastore app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db' db = SQLAlchemy(app) app.config['SOCIAL_AUTH_TWITTER_KEY'] = 'your_key' app.config['SOCIAL_AUTH_TWITTER_SECRET'] = 'your_secret' social = Social(app, SQLAlchemyConnectionDatastore(db))
上記のコードでは、まず、Flask、SQLAlchemy、Flask-Social などの必要な依存関係ライブラリを導入します。次に、Flask アプリケーションと SQLAlchemy データベース、およびデータベースに接続するための URL を定義します。次に、Twitter 認証用のキーとシークレットを設定します。ここでは Twitter を例に説明しますが、他のソーシャル メディア プラットフォームの情報ももちろん使用できます。最後に、Social
クラスを通じて social
インスタンスを初期化し、SQLAlchemyConnectionDatastore クラスに接続します。
Flask-Social の基本的な使い方
上記の設定により、Flask-Social を使用してソーシャル ログイン機能を追加できるようになります。 Twitter ログインをアプリケーションに追加するとします。次のコードを使用できます。
from flask import Flask, request, redirect, url_for, render_template from flask_sqlalchemy import SQLAlchemy from flask.ext.social import Social from flask.ext.social.datastore import SQLAlchemyConnectionDatastore app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db' app.secret_key = 'secret' db = SQLAlchemy(app) app.config['SOCIAL_AUTH_TWITTER_KEY'] = 'your_key' app.config['SOCIAL_AUTH_TWITTER_SECRET'] = 'your_secret' social = Social(app, SQLAlchemyConnectionDatastore(db)) @app.route('/') def home(): return render_template('home.html') @app.route('/login') def login(): return social.twitter.authorize(callback=url_for('auth_twitter', next=request.args.get('next') or request.referrer or None)) @app.route('/auth/twitter') def auth_twitter(): resp = social.twitter.authorized_response() if resp is None: return redirect(url_for('home')) session['twitter_token'] = ( resp['oauth_token'], resp['oauth_token_secret'] ) return redirect(url_for('profile')) @app.route('/profile') def profile(): return render_template('profile.html')
ここのコードは単純です。最初にホームページを定義し、次に social を使用してログイン ルートを定義します。 .twitter.authorize()
関数を使用してログイン ページを生成します。次に、Twitter ログイン情報コールバックを処理し、トークンとシークレットをセッションに保存します。最後に、ユーザー情報を表示するプロファイル ルートを定義します。
上記のコードでは、Flask-Social に必要なセッション キーの生成に使用される app.secret_key
も定義していることに注意してください。
Flask-Social の高度なアプリケーション: Github ログイン
もちろん、一般的なソーシャル ログイン プラットフォームは Twitter だけではなく、開発者のソーシャル ネットワーキング サイトとして、Github も非常に人気があります。そこで、ほんのわずかな変更を加えて Github ログインを Flask アプリケーションに追加しました。例:
from flask import Flask, request, redirect, url_for, render_template, session from flask_sqlalchemy import SQLAlchemy from flask.ext.social import Social from flask.ext.social.datastore import SQLAlchemyConnectionDatastore app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db' app.secret_key = 'secret' db = SQLAlchemy(app) app.config['SOCIAL_AUTH_GITHUB_KEY'] = 'your_key' app.config['SOCIAL_AUTH_GITHUB_SECRET'] = 'your_secret' social = Social(app, SQLAlchemyConnectionDatastore(db)) @app.route('/') def home(): return render_template('home.html') @app.route('/login') def login(): return social.github.authorize(callback=url_for('auth_github', next=request.args.get('next') or request.referrer or None)) @app.route('/auth/github') def auth_github(): resp = social.github.authorized_response() if resp is None: return redirect(url_for('home')) session['github_token'] = ( resp['access_token'], '' ) return redirect(url_for('profile')) @app.route('/profile') def profile(): me = social.github.get('/user') return render_template('profile.html', name=me.data['name'])
ご覧のとおり、キーとシークレットを変更して、それを authorize()
に追加するだけです。 authorized_response()
Github ベースのソーシャル ログインを実現するには、メソッドで social.github
を使用します。
Flask-Social の概要
Flask-Social を使用すると、Flask アプリケーションにソーシャル ログイン機能を簡単に追加できます。 Flask-Social を使用すると、OAuth プロトコルを手動で処理することなく、Python コードを直接使用してソーシャル ネットワークの API を操作できます。複数のソーシャル ネットワークをサポートしたい場合は、コードを少し変更するだけで済みます。このような簡単な操作で、数多くのユーザーのトラブルが軽減され、アプリケーションのユーザーロイヤルティと定着率が向上します。
以上がFlask-Social: Python Web アプリケーションにソーシャル ログインを追加するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









React と Flask を使用してシンプルで使いやすい Web アプリケーションを構築する方法 はじめに: インターネットの発展に伴い、Web アプリケーションのニーズはますます多様化および複雑化しています。使いやすさとパフォーマンスに対するユーザーの要件を満たすために、最新のテクノロジー スタックを使用してネットワーク アプリケーションを構築することがますます重要になっています。 React と Flask は、フロントエンドおよびバックエンド開発用の 2 つの非常に人気のあるフレームワークであり、うまく連携してシンプルで使いやすい Web アプリケーションを構築します。この記事では、React と Flask を活用する方法について詳しく説明します。

Django と Flask はどちらも Python Web フレームワークのリーダーであり、それぞれに独自の利点と適用可能なシナリオがあります。この記事では、これら 2 つのフレームワークを比較分析し、具体的なコード例を示します。開発の概要 Django はフル機能の Web フレームワークであり、その主な目的は、複雑な Web アプリケーションを迅速に開発することです。 Django は、ORM (オブジェクト リレーショナル マッピング)、フォーム、認証、管理バックエンドなどの多くの組み込み機能を提供します。これらの機能により、Django は大規模なデータを処理できるようになります。

ゼロから始めて、Flask をインストールし、個人ブログをすぐに構築する方法を段階的に説明します。書くことが好きな人にとって、個人ブログを持つことは非常に重要です。軽量の Python Web フレームワークである Flask は、シンプルで完全に機能する個人ブログを迅速に構築するのに役立ちます。この記事では、ゼロから始めて、Flask をインストールして個人ブログを迅速に構築する方法を段階的に説明します。ステップ 1: Python と pip をインストールする 開始する前に、まず Python と pi をインストールする必要があります

Flask フレームワークのインストール チュートリアル: Flask フレームワークを正しくインストールする方法を段階的に説明します。特定のコード例が必要です。 はじめに: Flask は、シンプルで柔軟な Python Web 開発フレームワークです。学びやすく、使いやすく、強力な機能が満載です。この記事では、Flask フレームワークを正しくインストールする方法を段階的に説明し、参照用の詳細なコード例を提供します。ステップ 1: Python をインストールする Flask フレームワークをインストールする前に、まず Python がコンピュータにインストールされていることを確認する必要があります。 Pから始められます

最初の部分では、基本的な Flask と Intellij IDEA の統合、プロジェクトと仮想環境の設定、依存関係のインストールなどを紹介します。次に、より効率的な作業環境を構築するための Python Web アプリケーション開発のヒントをさらに検討していきます。 FlaskBlueprints の使用FlaskBlueprints を使用すると、管理とメンテナンスを容易にするためにアプリケーション コードを整理できます。ブループリントは、パッケージ化された Python モジュールです。

Flask アプリケーションのデプロイメント: Gunicorn と suWSGI の比較 はじめに: Flask は、軽量の Python Web フレームワークとして、多くの開発者に愛されています。 Flask アプリケーションを運用環境にデプロイする場合、適切なサーバー ゲートウェイ インターフェイス (SGI) を選択することが重要な決定となります。 Gunicorn と uWSGI は 2 つの一般的な SGI サーバーであり、この記事ではこれらについて詳しく説明します。

FlaskvsFastAPI: WebAPI の効率的な開発のための最良の選択 はじめに: 現代のソフトウェア開発において、WebAPI は不可欠な部分になっています。これらは、異なるアプリケーション間の通信と相互運用性を可能にするデータとサービスを提供します。 WebAPI を開発するためのフレームワークを選択する場合、Flask と FastAPI の 2 つの選択肢が大きな注目を集めています。どちらのフレームワークも非常に人気があり、それぞれに独自の利点があります。この記事ではフロリダ州について見ていきます。

Flask-RESTful と Swagger: Python Web アプリケーションで RESTful API を構築するためのベスト プラクティス (パート 2) 前回の記事では、Flask-RESTful と Swagger を使用して RESTful API を構築するためのベスト プラクティスについて説明しました。 Flask-RESTful フレームワークの基本を紹介し、Swagger を使用して RESTful API のドキュメントを構築する方法を示しました。本
