SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
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 ?
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.
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

Similaire à Google Authentication in Python - Destin.pdf

Le Cloud Computing avec Google Apps
Le Cloud Computing avec Google AppsLe Cloud Computing avec Google Apps
Le Cloud Computing avec Google AppsAisne Numérique
 
Guide de mise en oeuvre de l'authentification forte
Guide de mise en oeuvre de l'authentification forteGuide de mise en oeuvre de l'authentification forte
Guide de mise en oeuvre de l'authentification forteNis
 
E-Reputation & réseaux sociaux
E-Reputation & réseaux sociauxE-Reputation & réseaux sociaux
E-Reputation & réseaux sociauxInter-Ligere
 
Api - mix it 2013
Api - mix it 2013Api - mix it 2013
Api - mix it 2013Eric D.
 
MISE EN PLACE D’UNE INFRACSTRUCTURE A CLE PUBLIQUE.pptx
MISE EN PLACE D’UNE INFRACSTRUCTURE A CLE PUBLIQUE.pptxMISE EN PLACE D’UNE INFRACSTRUCTURE A CLE PUBLIQUE.pptx
MISE EN PLACE D’UNE INFRACSTRUCTURE A CLE PUBLIQUE.pptxoswaldewane1
 
Surveiller son ordinateur de façon efficace
Surveiller son ordinateur de façon efficaceSurveiller son ordinateur de façon efficace
Surveiller son ordinateur de façon efficacePrénom Nom de famille
 
Introduction au Cloud computing
Introduction au Cloud computingIntroduction au Cloud computing
Introduction au Cloud computingPhilippe Scoffoni
 
Guide d’architecture pour le support de la fédération d’identité dans une app...
Guide d’architecture pour le support de la fédération d’identité dans une app...Guide d’architecture pour le support de la fédération d’identité dans une app...
Guide d’architecture pour le support de la fédération d’identité dans une app...Gregory Haik
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Cédric Leblond
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continueStéphane HULARD
 
Introduction au test_logiciel-fr
Introduction au test_logiciel-frIntroduction au test_logiciel-fr
Introduction au test_logiciel-frEmanBali
 
[Campus du Libre 2020] Présentation de la solution W'Sweet
[Campus du Libre 2020] Présentation de la solution W'Sweet[Campus du Libre 2020] Présentation de la solution W'Sweet
[Campus du Libre 2020] Présentation de la solution W'SweetWorteks
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logicielsSylvain Leroy
 

Similaire à Google Authentication in Python - Destin.pdf (20)

Le Cloud Computing avec Google Apps
Le Cloud Computing avec Google AppsLe Cloud Computing avec Google Apps
Le Cloud Computing avec Google Apps
 
Djang formation-django
Djang formation-djangoDjang formation-django
Djang formation-django
 
Guide de mise en oeuvre de l'authentification forte
Guide de mise en oeuvre de l'authentification forteGuide de mise en oeuvre de l'authentification forte
Guide de mise en oeuvre de l'authentification forte
 
E-Reputation & réseaux sociaux
E-Reputation & réseaux sociauxE-Reputation & réseaux sociaux
E-Reputation & réseaux sociaux
 
Jusqu’ou iront les weblogs?
Jusqu’ou iront les weblogs?Jusqu’ou iront les weblogs?
Jusqu’ou iront les weblogs?
 
Audit de site WordPress
Audit de site WordPressAudit de site WordPress
Audit de site WordPress
 
Api - mix it 2013
Api - mix it 2013Api - mix it 2013
Api - mix it 2013
 
MOTS DE PASSE
MOTS DE PASSEMOTS DE PASSE
MOTS DE PASSE
 
MISE EN PLACE D’UNE INFRACSTRUCTURE A CLE PUBLIQUE.pptx
MISE EN PLACE D’UNE INFRACSTRUCTURE A CLE PUBLIQUE.pptxMISE EN PLACE D’UNE INFRACSTRUCTURE A CLE PUBLIQUE.pptx
MISE EN PLACE D’UNE INFRACSTRUCTURE A CLE PUBLIQUE.pptx
 
Surveiller son ordinateur de façon efficace
Surveiller son ordinateur de façon efficaceSurveiller son ordinateur de façon efficace
Surveiller son ordinateur de façon efficace
 
Introduction au Cloud computing
Introduction au Cloud computingIntroduction au Cloud computing
Introduction au Cloud computing
 
Guide d’architecture pour le support de la fédération d’identité dans une app...
Guide d’architecture pour le support de la fédération d’identité dans une app...Guide d’architecture pour le support de la fédération d’identité dans une app...
Guide d’architecture pour le support de la fédération d’identité dans une app...
 
Geek handbook
Geek handbookGeek handbook
Geek handbook
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !
 
Piloter intune avec PowerShell
Piloter intune avec PowerShellPiloter intune avec PowerShell
Piloter intune avec PowerShell
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 
Introduction au test_logiciel-fr
Introduction au test_logiciel-frIntroduction au test_logiciel-fr
Introduction au test_logiciel-fr
 
[Campus du Libre 2020] Présentation de la solution W'Sweet
[Campus du Libre 2020] Présentation de la solution W'Sweet[Campus du Libre 2020] Présentation de la solution W'Sweet
[Campus du Libre 2020] Présentation de la solution W'Sweet
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
 

Plus de GDG Bujumbura

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

Plus de GDG Bujumbura (15)

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

Google Authentication in Python - Destin.pdf