SlideShare une entreprise Scribd logo
Implementation of google
authentication in your django
project using python
Implémentation de google authentification
dans vos projet django avec python
Bujumbura
Destin BIRINGANINE,
Backend Developer
Je suis étudiant à l’Université
Catholique de Bukavu, DRC.
Membre du Core Team du
GDSC/UCB (Google Solution
Challenge Top 100 winner),
fondateur de CGA (Code,
Growth Alive).
Pour l’instant, je suis
développeur Python. Je fais du
backend ainsi qu’un peu de la
data science.
“Lorsqu'on s'occupe d'informatique il
faut faire comme les canards...
Paraître calme en surface et pédaler
comme un forcené par en dessous. ”
Richard Lallement
Quid authentification ?
Google Authentication in Python - Destin.pdf
1. Définition
L’authentification est une procédure, par laquelle un système informatique
certifie l’identité d’une personne ou d’un ordinateur.
Le but de cette procédure est d’autoriser la personne ou l’ordi à accéder à
certaines ressources sécurisées.
Ainsi, il compare les informations données par l’utilisateur à celles se trouvant
dans la base de données du système.
L’accès sera accordé uniquement si les informations sont identiques.
2. Type
Il existe 4 facteurs d’authentifications : Ce que l’on connait (facteur mémoriel), Ce que l’on possède
(facteur matériel), Ce que l’on est (facteur corporel), Ce que l’on sait faire (facteur réactionnel) et on
peut toutefois parler du facteur immémorial, Ce que l’on ne sait pas.
Grâce à ces différents facteurs d’identifications cités ci-dessus, des méthodes de vérifications ont été
mises en place pour qualifier le degré d’authentification. C’est-à-dire que l’on peut combiner un ou deux
facteurs pour renforcer la vérification.
Il existe 3 familles d’authentification : simple, forte et unique.
L’authentification simple ne repose que sur un seul facteur alors que l’authentification unique
permet une seule authentification permettant ainsi d’accéder à plusieurs applications informatiques.
Quant à l’authentification forte, elle repose sur deux facteurs ou plus.
Google Authentication in Python - Destin.pdf
Un mot de passe pour
toutes vos connexions
Pourquoi l’authentification google ?
celui de votre compte google
Quid Python et
Django ?
Python est un langage
de programmation de
haut niveau ou évolué,
créé en 1991 par Guido
Von Rossum.
Python est un langage riche et
pluridisciplinaire: Web, Software, Data
Science et même le Mobile.
Ainsi, nous retrouvons Django comme un de
ses librairies du web au côté de Fast API,
Flask etc
Django est une librairie
de Python permettant
de créer des systèmes
ORM (Object Relational
Management).
Implementation de
google
authentification
Google authentification permet de s’identifier sur un
système informatique en se connectant uniquement sur
son propre compte Google.
Ceci, permet à l’utilisateur de bien sécuriser son
identité, de gagner en temps et surtout de n’avoir à
garder qu’un seul mot de passe celui de son compte
Google. Pour le développeur, il reçoit uniquement les
informations dont il a besoin et dans le bon format.
Pré-requis
1. Savoir créer et manipuler un projet web en Django
2. Avoir un compte Google
3. Connaître la programmation Python
4. Connaitre le langage HTML
5. Connaître le langage de Gabarit
Un guide étape par étape
pour implementer google
authentication
Etape 0: Créer un projet web avec django, créer votre
application, vos pages web pour la connexion, la page
d’accueil ainsi que la création d’un super utilisateur
permettant d'accéder à la page admin de votre site web.
Visiter ce lien: https://docs.allauth.org/en/latest/installation/quickstart.html
pour avoir acces à la documentation sur le package
django allauth
Etape 1: Installation du package
# terminal et de préférence dans l’environnement virtuel
(env) PS D:projetsdevFest> pip install django-allauth
AUTHENTICATION_BACKENDS = [
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
]
Etape 2: Configuration dans settings.py
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.messages'
,
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.google'
,
]
Etape 2: Configuration dans settings.py
MIDDLEWARE = (
"allauth.account.middleware.AccountMiddleware",
)
Etape 2: Configuration dans settings.py
SOCIALACCOUNT_PROVIDERS = {
'google': {
'APP': {
'client_id': '123', #provisoirement
'secret': '456', #provisoirement
'key': ''
}
}
}
Etape 2: Configuration dans settings.py
urlpatterns = [
path('accounts/', include('allauth.urls')),
]
Etape 3: Ajout parmi les liens: urls.py
# terminal et de préférence dans l’environnement virtuel
(env) PS D:projetsdevFest> python manage.py makemigrations
# apres execution
(env) PS D:projetsdevFest> python manage.py migrate
Etape 4: Etre sûr d’avoir effectuer la migration
Link: https://console.cloud.google.com/apis/dashboard
Nous pourrions y jeter un coup d’oeil à la fin de la
présentation.
Etape 4: Creation de l’API google auth
SOCIALACCOUNT_PROVIDERS = {
'google': {
'APP': {
'client_id': ' ',
'secret': ' ',
'key': ''
}
}
}
Etape 5: Configuration dans settings.py
Bibliographie
● https://www.syloe.com/glossaire/authentification/
● https://support.google.com/cloud/answer/10311615?hl=fr#user-typ
e&zippy=%2Cinternal%2Cexternal
● https://docs.allauth.org/en/latest/introduction/index.html
● https://docs.allauth.org/
● https://cga-blog.vercel.app/

Contenu connexe

PDF
John Kelly CUBAHIRO - The impact of AI on climate change .pptx.pdf
PDF
Florian Gahungu - Web application security
PDF
IRAKOZE Jean de Dieu_ Intégration de l'API Lumicash dans les applications No...
PDF
L’IA au service de la vie - VUNINGOMA Clémence
PDF
Arthur Kaza, QuickView GenC - Open Framework.pdf
PDF
Arthur KAZA - 5 Myths TF-PyTorch in MLOps.pdf
PDF
Web au logiciel desktop avec Tauri - Don Nermed.pdf
PDF
Unleashing the power of Unit Testing - Franck Ninsabira.pdf
John Kelly CUBAHIRO - The impact of AI on climate change .pptx.pdf
Florian Gahungu - Web application security
IRAKOZE Jean de Dieu_ Intégration de l'API Lumicash dans les applications No...
L’IA au service de la vie - VUNINGOMA Clémence
Arthur Kaza, QuickView GenC - Open Framework.pdf
Arthur KAZA - 5 Myths TF-PyTorch in MLOps.pdf
Web au logiciel desktop avec Tauri - Don Nermed.pdf
Unleashing the power of Unit Testing - Franck Ninsabira.pdf

Plus de GDG Bujumbura (13)

PPTX
Transaction SQL - Jean Thierry.pptx
PPTX
Science-Fiction - The forgotten art of designing better technologies - Josue....
PDF
Remote Sensing for Land Cover Mapping in Google Earth Engine - HAMENYIMANA Is...
PDF
LLMs for the “GPU-Poor” - Franck Nijimbere.pdf
PDF
Les outils et compétences nécessaires pour le développement en remote - Ce...
PDF
La diversité et la véracité de l'IA dans la vie de tous les jours avec un ...
PDF
Comment creer de Applicartions Desktop avec Javascript - Bejamin Kinyamba.pdf
PDF
Web au logiciel desktop avec Tauri - Don Nermed.pdf
PDF
Senior Sebarundi @flutterfoward 2023 - Flutter Favorites.pdf
PPTX
Road map to DevOps engineering - Elie Sirius
PPTX
How to be a self-taught programmer best practices - Edgar Eldy
PPTX
Women in Tech : The Community - Seilla Nkurunziza
PDF
Android et Minimalisme - Thomas Ezan
Transaction SQL - Jean Thierry.pptx
Science-Fiction - The forgotten art of designing better technologies - Josue....
Remote Sensing for Land Cover Mapping in Google Earth Engine - HAMENYIMANA Is...
LLMs for the “GPU-Poor” - Franck Nijimbere.pdf
Les outils et compétences nécessaires pour le développement en remote - Ce...
La diversité et la véracité de l'IA dans la vie de tous les jours avec un ...
Comment creer de Applicartions Desktop avec Javascript - Bejamin Kinyamba.pdf
Web au logiciel desktop avec Tauri - Don Nermed.pdf
Senior Sebarundi @flutterfoward 2023 - Flutter Favorites.pdf
Road map to DevOps engineering - Elie Sirius
How to be a self-taught programmer best practices - Edgar Eldy
Women in Tech : The Community - Seilla Nkurunziza
Android et Minimalisme - Thomas Ezan
Publicité

Google Authentication in Python - Destin.pdf