Inhaltsverzeichnis
Flask-Social Installation und Konfiguration
Flask-Social 的基本用法
Flask-Social 的进阶应用:Github 登录
Heim Backend-Entwicklung Python-Tutorial Flask-Social: Hinzufügen eines sozialen Logins zu Ihrer Python-Webanwendung

Flask-Social: Hinzufügen eines sozialen Logins zu Ihrer Python-Webanwendung

Jun 17, 2023 am 11:37 AM
flask social login python web应用程序

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
Nach dem Login kopieren

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))
Nach dem Login kopieren

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')
Nach dem Login kopieren

这里的代码很简单:我们首先定义了一个主页,然后我们定义一个 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'])
Nach dem Login kopieren

如你所见,只需修改 key 和 secret,并在 authorize()authorized_response() 方法中使用 social.github

Grundlegende Verwendung von Flask-Social

Mit den oben genannten Einstellungen können wir jetzt Flask-Social verwenden, um Social-Login-Funktionalität hinzuzufügen. Angenommen, wir möchten Twitter-Login zu unserer Anwendung hinzufügen, können wir den folgenden Code verwenden:

rrreee

Der Code hier ist einfach: Wir definieren zuerst eine Homepage, dann definieren wir eine Login-Route, indem wir social.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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erstellen Sie einfache und benutzerfreundliche Webanwendungen mit React und Flask So erstellen Sie einfache und benutzerfreundliche Webanwendungen mit React und Flask Sep 27, 2023 am 11:09 AM

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 vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Jan 19, 2024 am 08:36 AM

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

Beginnen Sie bei Null und führen Sie Schritt für Schritt durch die Installation von Flask und die schnelle Einrichtung eines persönlichen Blogs Beginnen Sie bei Null und führen Sie Schritt für Schritt durch die Installation von Flask und die schnelle Einrichtung eines persönlichen Blogs Feb 19, 2024 pm 04:01 PM

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

Integration von Flask und Intellij IDEA: Tipps zur Entwicklung von Python-Webanwendungen (Teil 2) Integration von Flask und Intellij IDEA: Tipps zur Entwicklung von Python-Webanwendungen (Teil 2) Jun 17, 2023 pm 01:58 PM

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

Anleitung zur Installation des Flask-Frameworks: Detaillierte Schritte, die Ihnen bei der korrekten Installation von Flask helfen Anleitung zur Installation des Flask-Frameworks: Detaillierte Schritte, die Ihnen bei der korrekten Installation von Flask helfen Feb 18, 2024 pm 10:51 PM

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

Vergleich der Leistung von Gunicorn und uWSGI für die Bereitstellung von Flask-Anwendungen Vergleich der Leistung von Gunicorn und uWSGI für die Bereitstellung von Flask-Anwendungen Jan 17, 2024 am 08:52 AM

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.

Flask vs. FastAPI: Die beste Wahl für eine effiziente Web-API-Entwicklung Flask vs. FastAPI: Die beste Wahl für eine effiziente Web-API-Entwicklung Sep 27, 2023 pm 09:01 PM

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) Flask-RESTful und Swagger: Best Practices zum Erstellen von RESTful-APIs in Python-Webanwendungen (Teil 2) Jun 17, 2023 am 10:39 AM

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

See all articles