


Flask-Social: Hinzufügen eines sozialen Logins zu Ihrer Python-Webanwendung
Mit der rasanten Entwicklung sozialer Medien beginnen immer mehr Websites und Anwendungen, Social Login zu verwenden, um den Benutzerregistrierungs- und Anmeldeprozess zu vereinfachen. Allerdings ist die Implementierung einer solchen Funktionalität nicht einfach. Wie interagiere ich mit sozialen Netzwerken über das OAuth-Protokoll? Wie verwende ich die erhaltenen Benutzerinformationen? Wie gehe ich mit Berechtigungen und Sicherheit um? Glücklicherweise gibt es eine hervorragende Python-Anwendungserweiterung wie Flask-Social, mit der wir diese Funktion einfacher erreichen können. In diesem Artikel werden die Verwendung und die Grundprinzipien von Flask-Social vorgestellt.
Flask-Social Installation und Konfiguration
Zuerst müssen wir Flask-Social installieren. Verwenden Sie das Pip-Tool für eine schnelle Installation:
pip install Flask-Social
Nachdem die Installation abgeschlossen ist, müssen wir Flask-Social im Flask-Projekt konfigurieren. Führen Sie es zunächst in der Flask-Anwendung ein:
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))
Im obigen Code stellen wir zunächst die erforderlichen Abhängigkeitsbibliotheken vor, einschließlich Flask, SQLAlchemy und Flask-Social. Anschließend definieren wir eine Flask-Anwendung und eine SQLAlchemy-Datenbank sowie die URL für die Verbindung zur Datenbank. Als nächstes legen wir den Schlüssel und das Geheimnis für die Twitter-Authentifizierung fest. Natürlich können auch Informationen von anderen Social-Media-Plattformen verwendet werden. Initialisieren Sie abschließend die social
-Instanz über die Klasse Social
und verbinden Sie sie mit der Klasse SQLAlchemyConnectionDatastore. 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')
这里的代码很简单:我们首先定义了一个主页,然后我们定义一个 login 路由,使用social.twitter.authorize()
函数来生成登录页面。接着,我们处理了 Twitter 登录的信息回调,并将 token 和 secret 存储在 session 中。最后,我们定义一个 profile 路由来展示用户信息。
请注意,在上面的代码中,我们还定义了一个app.secret_key
,用于生成会话密钥,这是 Flask-Social 需要的。
Flask-Social 的进阶应用:Github 登录
常见的社交登录平台当然不止 Twitter 一个,Github 作为一个开发者社交网站,也广受欢迎。于是我们在 Flask 应用程序中加入 Github 登录,只需略作更改,例如:
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'])
如你所见,只需修改 key 和 secret,并在 authorize()
和 authorized_response()
方法中使用 social.github
rrreee
Der Code hier ist einfach: Wir definieren zuerst eine Homepage, dann definieren wir eine Login-Route, indem wirsocial.twitter.authorize( )
-Funktion zum Generieren der Anmeldeseite. Als Nächstes verarbeiten wir den Rückruf der Twitter-Anmeldeinformationen und speichern das Token und das Geheimnis in der Sitzung. Schließlich definieren wir eine Profilroute, um Benutzerinformationen anzuzeigen. 🎜🎜Bitte beachten Sie, dass wir im obigen Code auch einen app.secret_key
definieren, der zum Generieren des Sitzungsschlüssels verwendet wird, der von Flask-Social benötigt wird. 🎜🎜Erweiterte Anwendung von Flask-Social: Github-Login🎜🎜Natürlich ist Twitter nicht die einzige gängige Social-Login-Plattform, auch Github ist als Entwickler-Social-Networking-Site sehr beliebt. Deshalb haben wir die Github-Anmeldung mit nur geringfügigen Änderungen zur Flask-Anwendung hinzugefügt, zum Beispiel: 🎜rrreee🎜Wie Sie sehen, müssen Sie nur den Schlüssel und das Geheimnis ändern und authorize()
und Verwenden Sie <code>social.github
in der autorisierten_response()-Methode, um Social Login basierend auf Github zu implementieren. 🎜🎜Zusammenfassung von Flask-Social🎜🎜Mit Flask-Social können wir unseren Flask-Anwendungen ganz einfach Social-Login-Funktionen hinzufügen. Mit Flask-Social können wir Python-Code direkt verwenden, um die API des sozialen Netzwerks zu betreiben, ohne uns manuell mit dem OAuth-Protokoll befassen zu müssen. Wenn Sie mehrere soziale Netzwerke unterstützen möchten, ist lediglich eine geringfügige Codeänderung erforderlich. Mit einer so einfachen Bedienung reduzieren Sie die Probleme unzähliger Benutzer und erhöhen die Benutzertreue und Bindung Ihrer Anwendung. 🎜Das obige ist der detaillierte Inhalt vonFlask-Social: Hinzufügen eines sozialen Logins zu Ihrer Python-Webanwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





So erstellen Sie mit React und Flask einfache und benutzerfreundliche Webanwendungen. Einführung: Mit der Entwicklung des Internets werden die Anforderungen an Webanwendungen immer vielfältiger und komplexer. Um den Anforderungen der Benutzer an Benutzerfreundlichkeit und Leistung gerecht zu werden, wird es immer wichtiger, moderne Technologie-Stacks zum Aufbau von Netzwerkanwendungen zu verwenden. React und Flask sind zwei sehr beliebte Frameworks für die Front-End- und Back-End-Entwicklung, und sie arbeiten gut zusammen, um einfache und benutzerfreundliche Webanwendungen zu erstellen. In diesem Artikel erfahren Sie, wie Sie React und Flask nutzen

Django und Flask sind beide führend bei Python-Web-Frameworks und haben beide ihre eigenen Vorteile und anwendbaren Szenarien. In diesem Artikel wird eine vergleichende Analyse dieser beiden Frameworks durchgeführt und spezifische Codebeispiele bereitgestellt. Entwicklungseinführung Django ist ein Web-Framework mit vollem Funktionsumfang, dessen Hauptzweck darin besteht, schnell komplexe Webanwendungen zu entwickeln. Django bietet viele integrierte Funktionen wie ORM (Object Relational Mapping), Formulare, Authentifizierung, Verwaltungs-Backend usw. Diese Funktionen ermöglichen es Django, große Mengen zu verarbeiten

Von Grund auf werde ich Ihnen Schritt für Schritt beibringen, wie Sie Flask installieren und schnell einen persönlichen Blog erstellen. Als Person, die gerne schreibt, ist es sehr wichtig, einen persönlichen Blog zu haben. Als leichtes Python-Web-Framework kann Flask uns dabei helfen, schnell ein einfaches und voll funktionsfähiges persönliches Blog zu erstellen. In diesem Artikel fange ich bei Null an und zeige Ihnen Schritt für Schritt, wie Sie Flask installieren und schnell einen persönlichen Blog erstellen. Schritt 1: Python und pip installieren Bevor wir beginnen, müssen wir zuerst Python und pi installieren

Im ersten Teil werden die grundlegende Flask- und Intellij IDEA-Integration, Projekt- und virtuelle Umgebungseinstellungen, Abhängigkeitsinstallation usw. vorgestellt. Als Nächstes werden wir weitere Tipps zur Entwicklung von Python-Webanwendungen untersuchen, um eine effizientere Arbeitsumgebung aufzubauen: Mit FlaskBlueprints können Sie Ihren Anwendungscode für eine einfachere Verwaltung und Wartung organisieren. Blueprint ist ein Python-Modul, das Pakete erstellt

Tutorial zur Installation des Flask-Frameworks: Bringen Sie Ihnen Schritt für Schritt bei, wie Sie das Flask-Framework korrekt installieren. Einführung: Flask ist ein einfaches und flexibles Python-Webentwicklungs-Framework. Es ist leicht zu erlernen, benutzerfreundlich und voller leistungsstarker Funktionen. Dieser Artikel führt Sie Schritt für Schritt durch die korrekte Installation des Flask-Frameworks und stellt detaillierte Codebeispiele als Referenz bereit. Schritt 1: Python installieren Bevor Sie das Flask-Framework installieren, müssen Sie zunächst sicherstellen, dass Python auf Ihrem Computer installiert ist. Sie können bei P beginnen

Flask-Anwendungsbereitstellung: Vergleich von Gunicorn und suWSGI Einführung: Flask ist als leichtes Python-Web-Framework bei vielen Entwicklern beliebt. Bei der Bereitstellung einer Flask-Anwendung in einer Produktionsumgebung ist die Auswahl der geeigneten Server Gateway Interface (SGI) eine entscheidende Entscheidung. Gunicorn und uWSGI sind zwei gängige SGI-Server. In diesem Artikel werden sie ausführlich beschrieben.

FlaskvsFastAPI: Die beste Wahl für eine effiziente Entwicklung von WebAPI Einführung: In der modernen Softwareentwicklung ist WebAPI zu einem unverzichtbaren Bestandteil geworden. Sie stellen Daten und Dienste bereit, die die Kommunikation und Interoperabilität zwischen verschiedenen Anwendungen ermöglichen. Bei der Auswahl eines Frameworks für die Entwicklung von WebAPI haben Flask und FastAPI große Aufmerksamkeit erregt. Beide Frameworks erfreuen sich großer Beliebtheit und jedes hat seine eigenen Vorteile. In diesem Artikel werden wir uns Fl ansehen

Flask-RESTful und Swagger: Best Practices zum Erstellen von RESTful-APIs in Python-Webanwendungen (Teil 2) Im vorherigen Artikel haben wir die Best Practices zum Erstellen von RESTful-APIs mit Flask-RESTful und Swagger untersucht. Wir stellten die Grundlagen des Flask-RESTful-Frameworks vor und zeigten, wie man mit Swagger Dokumentation für eine RESTful-API erstellt. Buch
