profile.html:

Protected Page ?

User ID: {{ USER_ID }}

Name: {{ USER_NAME }}

Email: {{ USER_EMAIL }}

4. Django दृश्य बनाएं और रूट कॉन्फ़िगर करें

views.py में, लॉगिन और प्रोफ़ाइल पेजों को रेंडर करने के लिए निम्नलिखित तरीके बनाएं:

from django.shortcuts import render, redirectfrom django.http import HttpResponsefrom corbado_python_sdk import Config, CorbadoSDK, SessionInterface, UserEntityfrom corbado_python_sdk.entities.session_validation_result import SessionValidationResultfrom corbado_python_sdk.generated.models.identifier import Identifierfrom passkeys_demo.settings import API_SECRET, PROJECT_IDconfig = Config(api_secret=API_SECRET, project_id=PROJECT_ID)sdk = CorbadoSDK(config=config)sessions = sdk.sessionsidentifiers = sdk.identifiersdef index(request):    context = {\\\"PROJECT_ID\\\": PROJECT_ID}    return render(request, \\\"index.html\\\", context)def profile(request):    token = request.COOKIES.get(config.short_session_cookie_name)    try:        if not token:            raise ValueError(\\\"No token found\\\")        validation_result = sessions.get_and_validate_short_session_value(short_session=token)        if validation_result.authenticated:            email_identifiers = identifiers.list_all_emails_by_user_id(                user_id=validation_result.user_id or \\\"\\\"            )            user = sessions.get_current_user(short_session=token)            context = {                \\\"PROJECT_ID\\\": PROJECT_ID,                \\\"USER_ID\\\": user.user_id,                \\\"USER_NAME\\\": user.full_name,                \\\"USER_EMAIL\\\": email_identifiers[0].value,            }            return render(request, \\\"profile.html\\\", context)        else:            return HttpResponse(\\\"You are not authenticated or have not yet confirmed your email.\\\", status=401)    except Exception as e:        print(e)        return redirect(\\\"/\\\")

urls.py में मार्गों को कॉन्फ़िगर करें:

from django.urls import pathfrom . import viewsurlpatterns = [    path(\\\"\\\", views.index, name=\\\"index\\\"),    path(\\\"profile/\\\", views.profile, name=\\\"profile\\\"),    path(\\'/\\', lambda request, unknown_path: redirect(\\'/\\'), name=\\'fallback\\')]

Django एप्लिकेशन चला रहा हूं

अपना Django एप्लिकेशन शुरू करने के लिए, निम्नलिखित कमांड का उपयोग करें:

python manage.py runserver

अपने वेब ब्राउज़र में http://localhost:8000 पर जाएं, और आपको कॉर्बाडो यूआई घटक को निर्बाध रूप से एकीकृत देखना चाहिए।

\\\"Tutorial:

निष्कर्ष

इस गाइड ने आपको कॉर्बाडो के घटकों का उपयोग करके Django एप्लिकेशन में पासकी-आधारित प्रमाणीकरण जोड़ने की प्रक्रिया के बारे में बताया। यह दृष्टिकोण न केवल पासवर्ड रहित प्रमाणीकरण लागू करके सुरक्षा बढ़ाता है बल्कि सत्र प्रबंधन को भी सरल बनाता है। कॉर्बाडो की सत्र प्रबंधन क्षमताओं पर अधिक जानकारी के लिए, आधिकारिक दस्तावेज़ देखें।

","image":"http://www.luping.net/uploads/20240831/172510056566d2f2155b68d.png","datePublished":"2024-08-31T18:36:05+08:00","dateModified":"2024-08-31T18:36:05+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > ट्यूटोरियल: पासकीज़ को Django (पायथन) में एकीकृत करें

ट्यूटोरियल: पासकीज़ को Django (पायथन) में एकीकृत करें

2024-08-31 को प्रकाशित
ब्राउज़ करें:467

परिचय

इस गाइड में, हम आपको पासकी प्रमाणीकरण को Python Django वेब एप्लिकेशन में एकीकृत करने के चरणों के बारे में बताएंगे। हम कॉर्बाडो के पासकी-प्रथम यूआई घटक का उपयोग करेंगे, जो एक पासकी बैकएंड (वेबऑथ्न सर्वर सहित) से निर्बाध रूप से जुड़ता है, जिससे एकीकरण प्रक्रिया सरल और कुशल हो जाती है।

पूर्ण मूल ट्यूटोरियल यहां पढ़ें

Django पासकी परियोजना पूर्वापेक्षाएँ

कार्यान्वयन में जाने से पहले, सुनिश्चित करें कि आपको Django, Python, HTML और JavaScript की बुनियादी समझ है। इन तकनीकों से परिचित होने से आपको अधिक आसानी से अनुसरण करने में मदद मिलेगी।

Django प्रोजेक्ट की स्थापना

1. अपना Django प्रोजेक्ट प्रारंभ करें

यदि आपकी मशीन पर Django इंस्टॉल नहीं है, तो आप निम्न कमांड चलाकर इसे इंस्टॉल कर सकते हैं:

pip install Django==4.2.7

इसके बाद, पासकी के लिए कॉर्बाडो पायथन एसडीके इंस्टॉल करें:

pip install passkeys

अब, एक नया Django प्रोजेक्ट बनाएं:

django-admin startproject passkeys_demo
cd passkeys_demo

यह आपके Django प्रोजेक्ट फ़ाइलों वाली एक passkeys_demo निर्देशिका उत्पन्न करेगा।

2. पर्यावरण चर कॉन्फ़िगर करें

अपनी परियोजना निर्देशिका के भीतर, पर्यावरण चर संग्रहीत करने के लिए एक .env फ़ाइल बनाएं। आपको एक प्रोजेक्ट आईडी और एपीआई रहस्य की आवश्यकता है जिसे आप कॉर्बाडो डेवलपर पैनल से प्राप्त कर सकते हैं (आपको डेवलपर पैनल में एक कॉर्बाडो प्रोजेक्ट बनाने की आवश्यकता है):

PROJECT_ID=your_project_id
API_SECRET=your_api_secret

इन वेरिएबल्स को अपनी Django सेटिंग्स में लोड करने के लिए django-environ पैकेज इंस्टॉल करें:

pip install django-environ

अपनी सेटिंग्स.py में, पर्यावरण आयात करें और इसे .env फ़ाइल को पढ़ने के लिए कॉन्फ़िगर करें:

import environ

env = environ.Env()
environ.Env.read_env()

PROJECT_ID = env('PROJECT_ID')
API_SECRET = env('API_SECRET')

3. सत्र प्रबंधन के साथ Django टेम्पलेट बनाएं

अपने passkeys_demo प्रोजेक्ट के अंदर एक टेम्पलेट निर्देशिका बनाएं। इस निर्देशिका के अंतर्गत, लॉगिन पृष्ठ के लिए Index.html और उपयोगकर्ता प्रोफ़ाइल पृष्ठ के लिए प्रोफ़ाइल.html बनाएं।

index.html:


  
    
profile.html:

Protected Page ?

User ID: {{ USER_ID }}

Name: {{ USER_NAME }}

Email: {{ USER_EMAIL }}

4. Django दृश्य बनाएं और रूट कॉन्फ़िगर करें

views.py में, लॉगिन और प्रोफ़ाइल पेजों को रेंडर करने के लिए निम्नलिखित तरीके बनाएं:

from django.shortcuts import render, redirect
from django.http import HttpResponse
from corbado_python_sdk import Config, CorbadoSDK, SessionInterface, UserEntity
from corbado_python_sdk.entities.session_validation_result import SessionValidationResult
from corbado_python_sdk.generated.models.identifier import Identifier

from passkeys_demo.settings import API_SECRET, PROJECT_ID

config = Config(api_secret=API_SECRET, project_id=PROJECT_ID)
sdk = CorbadoSDK(config=config)
sessions = sdk.sessions
identifiers = sdk.identifiers

def index(request):
    context = {"PROJECT_ID": PROJECT_ID}
    return render(request, "index.html", context)

def profile(request):
    token = request.COOKIES.get(config.short_session_cookie_name)
    try:
        if not token:
            raise ValueError("No token found")
        validation_result = sessions.get_and_validate_short_session_value(short_session=token)
        if validation_result.authenticated:
            email_identifiers = identifiers.list_all_emails_by_user_id(
                user_id=validation_result.user_id or ""
            )
            user = sessions.get_current_user(short_session=token)
            context = {
                "PROJECT_ID": PROJECT_ID,
                "USER_ID": user.user_id,
                "USER_NAME": user.full_name,
                "USER_EMAIL": email_identifiers[0].value,
            }
            return render(request, "profile.html", context)
        else:
            return HttpResponse("You are not authenticated or have not yet confirmed your email.", status=401)
    except Exception as e:
        print(e)
        return redirect("/")

urls.py में मार्गों को कॉन्फ़िगर करें:

from django.urls import path
from . import views

urlpatterns = [
    path("", views.index, name="index"),
    path("profile/", views.profile, name="profile"),
    path('/', lambda request, unknown_path: redirect('/'), name='fallback')
]

Django एप्लिकेशन चला रहा हूं

अपना Django एप्लिकेशन शुरू करने के लिए, निम्नलिखित कमांड का उपयोग करें:

python manage.py runserver

अपने वेब ब्राउज़र में http://localhost:8000 पर जाएं, और आपको कॉर्बाडो यूआई घटक को निर्बाध रूप से एकीकृत देखना चाहिए।

Tutorial: Integrate Passkeys into Django (Python)

निष्कर्ष

इस गाइड ने आपको कॉर्बाडो के घटकों का उपयोग करके Django एप्लिकेशन में पासकी-आधारित प्रमाणीकरण जोड़ने की प्रक्रिया के बारे में बताया। यह दृष्टिकोण न केवल पासवर्ड रहित प्रमाणीकरण लागू करके सुरक्षा बढ़ाता है बल्कि सत्र प्रबंधन को भी सरल बनाता है। कॉर्बाडो की सत्र प्रबंधन क्षमताओं पर अधिक जानकारी के लिए, आधिकारिक दस्तावेज़ देखें।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/corbado/tutorial-integrate-passkeys-into-django-python-4bip?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3