Table des matières
Installation et configuration de Flask-Social
Flask-Social 的基本用法
Flask-Social 的进阶应用:Github 登录
Maison développement back-end Tutoriel Python Flask-Social : ajout d'une connexion sociale à votre application Web Python

Flask-Social : ajout d'une connexion sociale à votre application Web Python

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

Avec le développement rapide des médias sociaux, de plus en plus de sites Web et d'applications commencent à utiliser la connexion sociale pour simplifier le processus d'enregistrement et de connexion des utilisateurs. Cependant, la mise en œuvre d’une telle fonctionnalité n’est pas facile. Comment interagir avec les réseaux sociaux via le protocole OAuth ? Comment utiliser les informations utilisateur obtenues ? Comment gérer les autorisations et la sécurité ? Heureusement, il existe une excellente extension d'application Python comme Flask-Social qui peut nous aider à réaliser cette fonction plus facilement. Cet article présentera l'utilisation et les principes de base de Flask-Social.

Installation et configuration de Flask-Social

Tout d'abord, nous devons installer Flask-Social. Utilisez l'outil pip pour installer rapidement :

pip install Flask-Social
Copier après la connexion

Une fois l'installation terminée, nous devons configurer Flask-Social dans le projet Flask. Introduisez-le d'abord dans l'application 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))
Copier après la connexion

Dans le code ci-dessus, nous introduisons d'abord les bibliothèques de dépendances nécessaires, notamment Flask, SQLAlchemy et Flask-Social. Ensuite, nous définissons une application Flask et une base de données SQLAlchemy, ainsi que l'URL pour se connecter à la base de données. Ensuite, nous définissons la clé et le secret pour l'authentification Twitter. Twitter est utilisé ici à titre d'exemple. Bien entendu, les informations provenant d'autres plateformes de médias sociaux peuvent également être utilisées. Enfin, initialisez l'instance social via la classe Social et connectez-la à la classe 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')
Copier après la connexion

这里的代码很简单:我们首先定义了一个主页,然后我们定义一个 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'])
Copier après la connexion

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

Utilisation de base de Flask-Social

Avec les paramètres ci-dessus, nous pouvons désormais utiliser Flask-Social pour ajouter une fonctionnalité de connexion sociale. Supposons que nous souhaitions ajouter la connexion Twitter dans notre application, nous pouvons utiliser le code suivant :

rrreee

Le code ici est simple : nous définissons d'abord une page d'accueil, puis nous définissons une route de connexion, en utilisant social.twitter.authorize( ) pour générer la page de connexion. Ensuite, nous traitons le rappel des informations de connexion Twitter et stockons le jeton et le secret dans la session. Enfin, nous définissons un itinéraire de profil pour afficher les informations utilisateur. 🎜🎜Veuillez noter que dans le code ci-dessus, nous définissons également un app.secret_key, qui est utilisé pour générer la clé de session, qui est requise par Flask-Social. 🎜🎜Application avancée de Flask-Social : connexion Github🎜🎜Bien sûr, Twitter n'est pas la seule plateforme de connexion sociale courante En tant que site de réseautage social pour développeurs, Github est également très populaire. Nous avons donc ajouté la connexion Github à l'application Flask avec seulement de légères modifications, par exemple : 🎜rrreee🎜Comme vous pouvez le voir, il vous suffit de modifier la clé et le secret, et d'utiliser authorize() et Utilisez <code>social.github dans la méthodeauthorized_response() pour implémenter la connexion sociale basée sur Github. 🎜🎜Résumé de Flask-Social🎜🎜Avec Flask-Social, nous pouvons facilement ajouter une fonctionnalité de connexion sociale à nos applications Flask. Grâce à Flask-Social, nous pouvons utiliser directement le code Python pour faire fonctionner l'API du réseau social sans avoir à gérer manuellement le protocole OAuth. Si vous souhaitez prendre en charge plusieurs réseaux sociaux, il suffit d'une légère modification du code. Avec une opération aussi simple, vous réduirez les problèmes d’innombrables utilisateurs et augmenterez la fidélité des utilisateurs et la pérennité de votre application. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer des applications Web simples et faciles à utiliser avec React et Flask Comment créer des applications Web simples et faciles à utiliser avec React et Flask Sep 27, 2023 am 11:09 AM

Comment utiliser React et Flask pour créer des applications Web simples et faciles à utiliser Introduction : Avec le développement d'Internet, les besoins des applications Web deviennent de plus en plus diversifiés et complexes. Afin de répondre aux exigences des utilisateurs en matière de facilité d'utilisation et de performances, il devient de plus en plus important d'utiliser des piles technologiques modernes pour créer des applications réseau. React et Flask sont deux frameworks très populaires pour le développement front-end et back-end, et ils fonctionnent bien ensemble pour créer des applications Web simples et faciles à utiliser. Cet article détaillera comment exploiter React et Flask

Django vs Flask : une analyse comparative des frameworks Web Python Django vs Flask : une analyse comparative des frameworks Web Python Jan 19, 2024 am 08:36 AM

Django et Flask sont tous deux leaders dans les frameworks Web Python, et ils ont tous deux leurs propres avantages et scénarios applicables. Cet article procédera à une analyse comparative de ces deux frameworks et fournira des exemples de code spécifiques. Introduction au développement Django est un framework Web complet, son objectif principal est de développer rapidement des applications Web complexes. Django fournit de nombreuses fonctions intégrées, telles que ORM (Object Relational Mapping), formulaires, authentification, backend de gestion, etc. Ces fonctionnalités permettent à Django de gérer de grandes

Partez de zéro et vous guidez étape par étape pour installer Flask et créer rapidement un blog personnel Partez de zéro et vous guidez étape par étape pour installer Flask et créer rapidement un blog personnel Feb 19, 2024 pm 04:01 PM

En partant de zéro, je vais vous apprendre étape par étape comment installer Flask et créer rapidement un blog personnel. En tant que personne qui aime écrire, il est très important d'avoir un blog personnel. En tant que framework Web Python léger, Flask peut nous aider à créer rapidement un blog personnel simple et entièrement fonctionnel. Dans cet article, je vais repartir de zéro et vous apprendre étape par étape comment installer Flask et créer rapidement un blog personnel. Étape 1 : Installer Python et pip Avant de commencer, nous devons d'abord installer Python et pi

Intégration Flask et Intellij IDEA : conseils de développement d'applications Web Python (partie 2) Intégration Flask et Intellij IDEA : conseils de développement d'applications Web Python (partie 2) Jun 17, 2023 pm 01:58 PM

La première partie présente l'intégration de base de Flask et d'Intellij IDEA, les paramètres du projet et de l'environnement virtuel, l'installation des dépendances, etc. Nous continuerons ensuite à explorer d'autres conseils de développement d'applications Web Python pour créer un environnement de travail plus efficace : Utiliser FlaskBlueprintsFlaskBlueprints vous permet d'organiser le code de votre application pour une gestion et une maintenance plus faciles. Blueprint est un module Python qui regroupe

Guide d'installation du framework Flask : étapes détaillées pour vous aider à installer Flask correctement Guide d'installation du framework Flask : étapes détaillées pour vous aider à installer Flask correctement Feb 18, 2024 pm 10:51 PM

Tutoriel d'installation du framework Flask : vous apprendrez étape par étape comment installer correctement le framework Flask. Des exemples de code spécifiques sont requis. Introduction : Flask est un framework de développement Web Python simple et flexible. Il est facile à apprendre, facile à utiliser et doté de fonctionnalités puissantes. Cet article vous guidera étape par étape pour installer correctement le framework Flask et fournira des exemples de code détaillés pour référence. Étape 1 : installer Python Avant d'installer le framework Flask, vous devez d'abord vous assurer que Python est installé sur votre ordinateur. Vous pouvez commencer à partir de P

Comparaison des performances de Gunicorn et d'uWSGI pour le déploiement d'applications Flask Comparaison des performances de Gunicorn et d'uWSGI pour le déploiement d'applications Flask Jan 17, 2024 am 08:52 AM

Déploiement d'applications Flask : comparaison de Gunicorn et suWSGI Introduction : Flask, en tant que framework Web Python léger, est apprécié par de nombreux développeurs. Lors du déploiement d'une application Flask dans un environnement de production, le choix de l'interface de passerelle serveur (SGI) appropriée est une décision cruciale. Gunicorn et uWSGI sont deux serveurs SGI courants. Cet article les décrira en détail.

Flask vs FastAPI : le meilleur choix pour un développement efficace d'API Web Flask vs FastAPI : le meilleur choix pour un développement efficace d'API Web Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI : Le meilleur choix pour un développement efficace de WebAPI Introduction : Dans le développement de logiciels modernes, WebAPI est devenu un élément indispensable. Ils fournissent des données et des services qui permettent la communication et l'interopérabilité entre différentes applications. Lors du choix d'un framework pour développer WebAPI, Flask et FastAPI sont deux choix qui ont beaucoup retenu l'attention. Les deux frameworks sont très populaires et chacun présente ses propres avantages. Dans cet article, nous examinerons Fl

Flask-RESTful et Swagger : meilleures pratiques pour créer des API RESTful dans les applications Web Python (partie 2) Flask-RESTful et Swagger : meilleures pratiques pour créer des API RESTful dans les applications Web Python (partie 2) Jun 17, 2023 am 10:39 AM

Flask-RESTful et Swagger : meilleures pratiques pour créer des API RESTful dans des applications Web Python (partie 2) Dans l'article précédent, nous avons exploré les meilleures pratiques pour créer des API RESTful à l'aide de Flask-RESTful et Swagger. Nous avons présenté les bases du framework Flask-RESTful et montré comment utiliser Swagger pour créer la documentation d'une API RESTful. Livre

See all articles