অনেক ডেভেলপার ওয়েবসাইটে, আমরা GitHub সামাজিক প্রমাণীকরণ দেখতে পাই যা খুব সহজ। এই নিবন্ধে, আমরা দেখব কিভাবে আমাদের জ্যাঙ্গো ওয়েবসাইটে Github Auth যোগ করতে হয়।
https://github.com/settings/developers/ এ যান এবং একটি Oauth অ্যাপ্লিকেশন তৈরি করুন এবং এই দুটি URL যোগ করুন
-
https://127.0.0.1:8000/
-
https://127.0.0.1:8000/accounts/github/login/callback
তারপর, আপনি একটি ক্লায়েন্ট আইডি এবং একটি গোপন কী পাবেন। এখন, কোডিং অংশে যাওয়া যাক।
উদাহরণ
django-allauth ইনস্টল করুন লাইব্রেরি -
pip install django-allauth
settings.py-এ কোডের নিম্নলিখিত লাইন যোগ করুন −
INSTALLED_APPS = [ ################## # # # # 'django.contrib.sites', 'allauth', 'allauth.account', 'allauth.socialaccount', 'allauth.socialaccount.providers.github', 'githubAuthentication' ] SITE_ID = 1 AUTHENTICATION_BACKENDS= [ 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend' ] LOGIN_REDIRECT_URL="https://github.com"
n ইনস্টল করা অ্যাপস, আমরা আমাদের প্রয়োজনীয় আমদানি লাইব্রেরি যোগ করেছি এবং তারপর আমরা GitHub ডিফল্ট প্রমাণীকরণ ব্যাকএন্ড যোগ করেছি। আমরা একটি পুনঃনির্দেশ URL সক্ষম করেছি যা লগইন করার সময় কোথায় পুনঃনির্দেশ করতে হবে তা বলে দেবে৷
৷urls.py-এ প্রকল্পের মূল −
from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), # this is module path copy this as it is path('accounts/', include('allauth.urls')), # this is my app path path('', include("githubAuthentication.urls")) ]
এখানে, আমরা ডিফল্ট পাথ যোগ করেছি যা যোগ করার জন্য প্রয়োজন; এটি GitHub লগইন সক্ষম করার জন্য allauth লাইব্রেরি পাথ। দ্বিতীয়টি হল অ্যাপ পাথ যা আমরা তৈরি করেছি।
এখন https://localhost:8000/admin এ যান এবং সামাজিক অ্যাপ্লিকেশনে যান।
এবং, একটি অ্যাপ্লিকেশন যোগ করুন -
ক্লায়েন্ট আইডি আটকান এবং গোপন কী যেটি আপনি আগে কপি করেছেন এবং নামটি অ্যাপ্লিকেশনের নাম হওয়া উচিত, প্রদানকারী github. বেছে নিন
সাইটে বিভাগে, example.com এ ক্লিক করুন এবং তারপর তীর কী ক্লিক করুন এবং সংরক্ষণ টিপুন। এটি github নিবন্ধন করবে একটি প্রমাণীকরণ ব্যাকএন্ড হিসাবে আপনার জ্যাঙ্গো প্রকল্পে।
এখন, home.html তৈরি করুন টেমপ্লেটে ফোল্ডার এবং নিম্নলিখিত লাইন যোগ করুন -
<!DOCTYPE html> <html> <head> <title>tut</title> </head> <body> {% load socialaccount %} {% providers_media_js %} <a href="{% provider_login_url 'github' method='js_sdk' %}?n ext=https://github.com">login with github</a> </body> </html>
এখানে, আমরা সহজভাবে JS রেন্ডার করেছি এবং allauth লোড করেছি ফ্রন্টএন্ডে লাইব্রেরি। -এ আমরা গিথুব লগইন পৃষ্ঠা প্রদান করেছি যেখানে আমরা আমাদের ডিফল্ট গিথুব লগইন পৃষ্ঠা সেট আপ করেছি৷
view.py-এ −
from django.shortcuts import render # Create your views here. def home(request): return render(request,"home.html")
আমরা এখানে আমাদের ফ্রন্টএন্ড রেন্ডার করেছি
urls.py-এ (অ্যাপ ইউআরএল) -
from django.urls import path,include from . import views urlpatterns = [ path('',views.home, name="Home" ), ]
আমরা এখানে url সেট আপ করেছি এবং আমাদের মতামত উপস্থাপন করেছি।
সবকিছু হয়ে গেছে, এখন আপনি আউটপুট চেক করতে এগিয়ে যেতে পারেন।
আউটপুট