কম্পিউটার টিউটোরিয়াল

ডজ্যাঙ্গোতে গুগল অথেনটিকেশন ইমপ্লিমেন্ট করা

অনেক ডেভেলপার ওয়েবসাইটে গুগল সোশ্যাল অথেনটিকেশন দেখতে পাই যা খুব হ্যান্ডি। এই আর্টিকেলে, আমরা দেখব কিভাবে একটি ডজ্যাঙ্গো গুগল লগইন প্রজেক্ট তৈরি করতে হয়।

  • প্রথমে, https://console.cloud.google.com/apis/dashboard-এ যান এবং একটি প্রজেক্ট তৈরি করুন।

  • Oauth consent screen-এ যান এবং একটি স্ক্রিন তৈরি করুন এবং Save & Continue ক্লিক করুন।

  • Credentials-এ যান এবং "Create Credentials"-এ ক্লিক করুন এবং তারপর "OAuth Client ID"-তে ক্লিক করুন:

  • তারপর, Web Application সিলেক্ট করুন, এবং এই দুটি URL যোগ করুন:

  • https://127.0.0.1:8000/
  • https://127.0.0.1:8000/accounts/github/login/callback/

এখন, আপনি একটি ক্লায়েন্ট আইডি এবং একটি সিক্রেট কি পাবেন, সেগুলো আপনার ফাইলে সুরক্ষিত রাখুন।

উদাহরণ

একটি ডজ্যাঙ্গো প্রজেক্ট এবং একটি অ্যাপ তৈরি করুন।

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',
        }
    }
}

# ফাইলের শেষে এটি যোগ করুন
AUTHENTICATION_BACKENDS = (
    "django.contrib.auth.backends.ModelBackend",
    "allauth.account.auth_backends.AuthenticationBackend",
)

এখানে, আমরা একটি রিডাইরেক্ট URL সংজ্ঞায়িত করেছি। INSTALLED APPs-এ, আমরা অথেনটিকেশনের জন্য যে গুরুত্বপূর্ণ ব্যাকএন্ডগুলো ব্যবহার করব সেগুলো সংজ্ঞায়িত করেছি। তারপর, আমরা সোশ্যাল অ্যাকাউন্ট প্রোভাইডার সংজ্ঞায়িত করেছি যা বলে দেবে লগইনের জন্য কী ব্যবহার করতে হবে (এখানে আমরা গুগল ব্যবহার করছি)। আমরা ইউজারের কী ডেটা সংরক্ষণ করা উচিত সেটাও সংজ্ঞায়িত করেছি।

এখন, প্রজেক্টের 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 লাইব্রেরির পাথ গুগল লগইন সক্ষম করার জন্য। দ্বিতীয়টি হলো অ্যাপ পাথ যা আমরা তৈরি করেছি।

অ্যাপের urls.py-তে:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home),
]

এখানে, আমরা আমাদের urls সেট আপ করেছি এবং হোম url-এ আমাদের ভিউস রেন্ডার করেছি।

view.py-তে:

from django.shortcuts import render

def home(request):
    return render(request, 'home.html')

আমরা সিম্পলি এখানে ফ্রন্টএন্ড রেন্ডার করেছি।

অ্যাপের মেইন ডিরেক্টরিতে একটি template ফোল্ডার তৈরি করুন এবং একটি ফাইল 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 লাইব্রেরি লোড করেছি। <a>-এ আমরা গুগল লগইন পেজ প্রদান করেছি जिसপরে আমরা আমাদের ডিফল্ট গুগল লগইন পেজ সেট আপ করেছি।

এখন, টার্মিনালে নিচের কমান্ডগুলো রান করুন:

python manage.py makemigrations
python manage.py migrate

এরপর, একটি superuser তৈরি করুন।

python manage.py createsuperuser

তারপর, সার্ভার শুরু করুন এবং অ্যাডমিন প্যানেলে যান। Sites-এ যান এবং url নাম এবং ডিসপ্লে নাম সহ একটি সাইট যোগ করুন: https://127.0.0.1:8000

Social applications-এ যান এবং অ্যাপ্লিকেশন যোগ করুন:

ডজ্যাঙ্গোতে গুগল অথেনটিকেশন ইমপ্লিমেন্ট করা

এটি গুগলকে আপনার ডজ্যাঙ্গো প্রজেক্টে একটি অথেনটিকেশন ব্যাকএন্ড হিসেবে রেজিস্টার করবে। সব কিছু সেট, এখন আপনি আউটপুট চেক করতে পারেন।

আউটপুট

ডজ্যাঙ্গোতে গুগল অথেনটিকেশন ইমপ্লিমেন্ট করা

  1. iOS-এ Google Drive অ্যাপে Face ID অথেন্টিকেশন যোগ করার উপায়

  2. গুগল রিডাইরেক্ট ভাইরাস অপসারণ ও নিরাপদ ব্রাউজিং ফিরে আনা

  3. গুগল ক্রোম ক্র্যাশ, ফ্রিজ ও অনরেসপন্সিভ ইস্যু সমাধান

  4. অ্যান্ড্রয়েডে 'Google Play Authentication is Required' এরর সমাধান