ในเว็บไซต์นักพัฒนาซอฟต์แวร์หลายแห่ง เราจะได้เห็นการรับรองความถูกต้องทางสังคมของ Google ซึ่งมีประโยชน์มาก ในบทความนี้ เราจะมาดูวิธีสร้างโครงการเข้าสู่ระบบ Django Google
-
ขั้นแรก ไปที่ https://console.cloud.google.com/apis/dashboard และสร้างโครงการ .
-
ไปที่หน้าจอยินยอม Oauth และสร้างหน้าจอแล้วบันทึกและดำเนินการต่อ
-
ไปที่ข้อมูลรับรองแล้วคลิก "สร้างข้อมูลรับรอง" จากนั้นคลิก "รหัสไคลเอ็นต์ OAuth":
-
จากนั้นเลือกเว็บแอปพลิเคชัน และเพิ่ม URL ทั้งสองนี้ -
- http://127.0.0.1:8000/
- http://127.0.0.1:8000/accounts/github/login/callback/
ตอนนี้ คุณจะได้รับรหัสลูกค้าและรหัสลับ เก็บไว้ในไฟล์ของคุณอย่างปลอดภัย
ตัวอย่าง
สร้างโปรเจ็กต์ Django และแอป
ใน settings.py −
SITE_ID = 1
LOGIN_REDIRECT_URL = "/"
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
"django.contrib.sites", # <--
"allauth", # <--
"allauth.account", # <--
"allauth.socialaccount", # <--
"allauth.socialaccount.providers.google",
"googleauthentication" #this is my app name ,you can name your app anything you want
]
SOCIALACCOUNT_PROVIDERS = {
'google': {
'SCOPE': [
'profile',
'email',
],
'AUTH_PARAMS': {
'access_type': 'online',
}
}
}
#add this in the end of file
AUTHENTICATION_BACKENDS = (
"django.contrib.auth.backends.ModelBackend",
"allauth.account.auth_backends.AuthenticationBackend",
) ที่นี่ เรากำหนด URL เปลี่ยนเส้นทาง ในแอปที่ติดตั้ง เราได้กำหนดแบ็กเอนด์ที่สำคัญที่เราจะใช้สำหรับการตรวจสอบสิทธิ์ จากนั้นเรากำหนดผู้ให้บริการบัญชีโซเชียลซึ่งจะบอกว่าเราควรใช้อะไรในการเข้าสู่ระบบ (ในที่นี้เราใช้ Google) นอกจากนี้เรายังกำหนดว่าควรจัดเก็บข้อมูลใดของผู้ใช้
ตอนนี้ใน urls.py . ของโปรเจ็กต์ , เพิ่มต่อไปนี้ −
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path("accounts/", include("allauth.urls")), #most important
path('',include("googleauthentication.urls")) #my app urls
] ที่นี่ เราได้เพิ่มพาธเริ่มต้นที่จำเป็นในการเพิ่ม เป็นเส้นทางไลบรารี allauth สำหรับเปิดใช้งานการเข้าสู่ระบบ Google อันที่สองคือเส้นทางของแอปที่เราสร้างขึ้น
ใน urls.py ของแอป −
from django.urls import path
from . import views
urlpatterns = [
path('',views.home),
] ที่นี่ เราตั้งค่า url ของเรา และแสดงความเห็นของเราเกี่ยวกับ URL หน้าแรก
ใน view.py −
from django.shortcuts import render # Create your views here. def home(request): return render(request,'home.html')
เราเพียงแค่แสดงส่วนหน้าที่นี่
สร้าง เทมเพลต โฟลเดอร์ในไดเรกทอรีหลักของแอปและเพิ่มไฟล์ home.html โดยมีเนื้อหาดังนี้ −
<!DOCTYPE html>
<html>
<head>
<title>Google Registration</title>
</head>
<body>
{% load socialaccount %}
<h1>My Google Login Project</h1>
<a href="{% provider_login_url 'google'%}?next=/">Login with Google</a>
</body>
</html> ที่นี่ เราสร้าง JS และโหลด allauth ห้องสมุดที่ส่วนหน้า ใน เราได้จัดเตรียมหน้าเข้าสู่ระบบ Google ซึ่งเราได้ตั้งค่าหน้าเข้าสู่ระบบ Google เริ่มต้นไว้
ตอนนี้ให้รันคำสั่งต่อไปนี้บนเทอร์มินัล -
python manage.py makemigrations python manage.py migrate
ถัดไป สร้าง ผู้ใช้ขั้นสูง .
python manage.py createsuperuser
จากนั้นเริ่มเซิร์ฟเวอร์และไปที่แผงผู้ดูแลระบบ ไปที่ Sites และเพิ่มเว็บไซต์ที่มีชื่อ url และชื่อที่แสดง:http://127.0.0.1:8000
ไปที่แอปพลิเคชันโซเชียลและเพิ่มแอปพลิเคชัน เลือกไซต์ที่คุณเพิ่มก่อนหน้านี้ -

การดำเนินการนี้จะลงทะเบียน Google ในโครงการ Django ของคุณเป็นแบ็กเอนด์การตรวจสอบสิทธิ์ ทุกอย่างได้รับการตั้งค่าแล้ว ตอนนี้คุณสามารถดำเนินการตรวจสอบผลลัพธ์ได้
ผลลัพธ์
