ในเว็บไซต์นักพัฒนาซอฟต์แวร์หลายแห่ง เราจะได้เห็นการรับรองความถูกต้องทางสังคมของ Google ซึ่งมีประโยชน์มาก ในบทความนี้ เราจะมาดูวิธีสร้างโครงการเข้าสู่ระบบ Django Google
-
ขั้นแรก ไปที่ https://console.cloud.google.com/apis/dashboard และสร้างโครงการ .
-
ไปที่หน้าจอยินยอม Oauth และสร้างหน้าจอแล้วบันทึกและดำเนินการต่อ
-
ไปที่ข้อมูลรับรองแล้วคลิก "สร้างข้อมูลรับรอง" จากนั้นคลิก "รหัสไคลเอ็นต์ OAuth":
-
จากนั้นเลือกเว็บแอปพลิเคชัน และเพิ่ม URL ทั้งสองนี้ -
- https://127.0.0.1:8000/
- https://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 และชื่อที่แสดง:https://127.0.0.1:8000
ไปที่แอปพลิเคชันโซเชียลและเพิ่มแอปพลิเคชัน เลือกไซต์ที่คุณเพิ่มก่อนหน้านี้ -
การดำเนินการนี้จะลงทะเบียน Google ในโครงการ Django ของคุณเป็นแบ็กเอนด์การตรวจสอบสิทธิ์ ทุกอย่างได้รับการตั้งค่าแล้ว ตอนนี้คุณสามารถดำเนินการตรวจสอบผลลัพธ์ได้
ผลลัพธ์