Ktor और Kotlin के साथ सुरक्षित ब्लॉगिंग सेवा एप्लिकेशन कैसे बनाएं

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें

Ktor और Kotlin के साथ एक सुरक्षित ब्लॉगिंग सेवा एप्लिकेशन बनाने का तरीका जानें।

इस ट्यूटोरियल में, आप अपनी खुद की नैनो ब्लॉगिंग सर्विस ( एन ए बी एल संक्षेप में) एक आधुनिक जेवीएम स्टैक का उपयोग करना। इसमें कोटलिन प्रोग्रामिंग भाषा, केटोर वेब फ्रेमवर्क का उपयोग करना और इसे ओक्टा के साथ सुरक्षित करना शामिल है। उपयोगकर्ता लॉग इन या साइन अप कर सकते हैं, अपडेट पोस्ट कर सकते हैं और विशिष्ट या वैश्विक ब्राउज़ कर सकते हैं कालक्रमबद्ध बिना खिलाए विज्ञापनों . ब्लॉगिंग सेवा चयनित उपयोगकर्ता या उसके सभी लोगों की पोस्ट प्रदर्शित करती है कालक्रमबद्ध चारा।

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



कौन आधिकारिक तौर पर JetBrains, कोटलिन भाषा के निर्माता और IntelliJ IDEA द्वारा समर्थित सबसे प्रमुख कोटलिन-देशी वेब फ्रेमवर्क में से एक है। यह एक उच्च-अनुकूलन योग्य मॉड्यूलर ढांचा है जो डेवलपर्स को समझदार चूक प्रदान करते हुए कार्यान्वयन पर पूर्ण नियंत्रण देता है।

आवश्यक शर्तें

  • कंप्यूटर स्थापित जावा 8+, गिट, बैश-जैसी कमांड लाइन के साथ
  • जावा या कोटलिन के साथ परिचित
  • आपका पसंदीदा IDE, उदाहरण के लिए, IntelliJ IDEA सामुदायिक संस्करण
  • मुफ़्त ओक्टा डेवलपर खाता
  • आपके समय के 15 मिनट

कोटलिन के साथ एक केटोर एप्लिकेशन बनाएं

किसी भी वेब एप्लिकेशन ढांचे के साथ, केटोर कई पुस्तकालय प्रदान करता है और कुछ सम्मेलनों को लागू करता है। चिंता न करें—यह आपको यह नहीं बताता कि अपना कोड कैसे लिखना है। कन्वेंशन ज्यादातर HTTP लेयर के लिए हैं और आप अन्य निचली परतों को अपनी इच्छानुसार लिखने के लिए स्वतंत्र हैं। सबसे उल्लेखनीय चीजों में से कुछ में शामिल हैं:

  • वेब एप्लिकेशन एक पाइपलाइन है जो आने वाले अनुरोधों को संसाधित करती है विशेषताएं तथा मार्ग संचालक .
  • अनुरोध प्रबंधन गैर-अवरुद्ध है; यह निर्भर करता है कोटलिन कोरटाइन्स .
  • कॉन्फ़िगरेशन फ़ाइल स्वरूप है HOCON .
  • फ्रेमवर्क शीर्ष-स्तरीय घोषणाओं के लिए DSL को नियोजित कर रहा है, जैसे, मॉड्यूल सेटअप, रूटिंग, आदि।
  • प्लग करने योग्य सुविधाओं को |_+_| का उपयोग करके कॉन्फ़िगर किया गया है।
  • आपके द्वारा उपयोग किए जाने वाले अधिकांश फ़ंक्शन और गुण हैं विस्तार कार्य .

कौन परियोजना संरचना

इस उदाहरण में आवेदन कई पुस्तकालयों पर निर्भर करता है:

  • Kotlin इस परियोजना के लिए आपके द्वारा उपयोग की जाने वाली प्रोग्रामिंग भाषा
  • कौन सा सर्वर साथ केटोर सर्वर सीआईओ - सर्वर कार्यान्वयन और कोरआउटिन-आधारित HTTP इंजन कोर
  • कौन सा ग्राहक साथ केटोर क्लाइंट सीआईओ - क्लाइंट OAuth2 सर्वर से संचार करता था
  • कौन सा Auth प्राधिकरण प्रवाह को संभालने के लिए मॉड्यूल
  • kotlinx.html टाइप-सुरक्षित HTML जनरेटर लिखने की अनुमति देने वाली कक्षाओं का सेट
  • ओक्टा जेडब्ल्यूटी सत्यापनकर्ता लाइब्रेरी एक्सेस और आईडी टोकन को पार्स और सत्यापित करने में मदद करती है

आप हमारे Git रिपॉजिटरी को क्लोन करके और |_+_| . से शुरू करके इस ट्यूटोरियल को बूटस्ट्रैप कर सकते हैं डाली:

उन्नत सी ++ साक्षात्कार प्रश्न
install(FeatureObject) { config }

ध्यान दें: यदि आप पहले से एकीकृत ओक्टा के साथ पूरा किया हुआ ऐप देखना चाहते हैं, तो आप |_+_| . देख सकते हैं डाली। अपने Okta खाते के साथ काम करने के लिए इसे कैसे कॉन्फ़िगर करें, इसके निर्देशों के लिए प्रोजेक्ट का README देखें।

अपना Ktor एप्लिकेशन प्रारंभ करें

IntelliJ रनर का उपयोग करें या टाइप करें |_+_| अपना आवेदन शुरू करने के लिए कमांड लाइन में, अपने वेब ब्राउज़र को |_+_| पर इंगित करें।

अतिथि मोड में चल रहा वेब अनुप्रयोग

प्रदर्शित सभी संदेश इन-मेमोरी डेटाबेस से हैं। ध्यान दें कि इस स्तर पर, उपयोगकर्ता लॉग इन नहीं कर सकता है; इसलिए वे संदेश पोस्ट नहीं कर सकते।

Okta . के साथ अपने Ktor एप्लिकेशन को सुरक्षित करें

वास्तविक दुनिया के अनुप्रयोगों में अक्सर उपयोगकर्ताओं को कुछ क्रियाएं करने या जानकारी तक पहुंचने के लिए लॉग इन करने की आवश्यकता होती है। उपयोगकर्ता प्रबंधन और सुरक्षा जितना वे लग सकते हैं उससे कहीं अधिक जटिल हैं और उन्हें सही बनाना कठिन हो सकता है। यदि आपने इसे पहले किया है, तो आप जानते हैं कि मैं किस बारे में बात कर रहा हूं।

उपयोगकर्ता प्रबंधन को आपका अधिक समय नहीं लेना चाहिए क्योंकि वह समस्या पहले ही हल हो चुकी है, है ना? इस ट्यूटोरियल में, आप OpenID Connect (OIDC) के साथ Okta की OAuth 2.0 प्राधिकरण सेवा का उपयोग करेंगे। ओक्टा उद्यम और व्यक्तिगत परियोजना दोनों जरूरतों के लिए कई सुविधाएँ प्रदान करता है - एमएफए, एसएएमएल, समूह, नीतियां, सोशल मीडिया लॉगिन, और बहुत कुछ। हम विभिन्न आकार की कंपनियों के लिए समाधान प्रदान करते हैं - केवल अपने लिए पालतू परियोजनाओं से लेकर FedEx, Box, HubSpot, Experian, और जैसे बड़े उद्यमों तक। कई अन्य . ओक्टा डेवलपर्स को सुरक्षित प्रमाणीकरण लागू करने में मदद करता है, प्राधिकरण को संभालता है, और न्यूनतम प्रयास और कोड की पंक्तियों के साथ एक पहचान प्रदाता के रूप में कार्य कर सकता है।

अगर आपने अभी तक ओक्टा अकाउंट नहीं बनाया है, साइन अप करें प्रथम। यह मुफ़्त है, किसी क्रेडिट कार्ड की आवश्यकता नहीं है।

अरे कहां से खरीदें

ओक्टा एडमिन कंसोल में लॉग इन करें। शीर्ष मेनू पर चयन करें अनुप्रयोगआवेदन जोड़ें :

ओक्टा वेबसाइट पर एक नई एप्लिकेशन स्क्रीन बनाएं

फिर, अपने ओक्टा एप्लिकेशन को कॉन्फ़िगर करें। चिंता न करें, अगर आप कुछ भी बदलना चाहते हैं तो इस स्क्रीन पर वापस आना हमेशा संभव है। कम से कम, आपको निम्न सेटिंग्स सेट करने की आवश्यकता है:

  • नाम - इसे एक सार्थक नाम दें, उदाहरण के लिए, |_+_|
  • आधार यूआरआई - डाल |_+_| वहां। एकाधिक यूआरआई प्रदान किए जा सकते हैं; यदि आवश्यक हो तो आप अधिक यूआरआई जोड़ सकते हैं।
  • लॉगिन रीडायरेक्ट यूआरआई - इसे |_+_| पर सेट करें। सफल लॉगिन पर, उपयोगकर्ता को क्वेरी में टोकन के साथ प्रदान किए गए यूआरआई पर पुनर्निर्देशित किया जाएगा।
  • लॉगआउट रीडायरेक्ट यूआरआई - मान |_+_| आपको सफल लॉगआउट पर एक रीडायरेक्ट URL प्रदान करने की अनुमति देता है।

क्लिक किया हुआ प्रारंभिक सेटअप समाप्त करने के लिए।

Ktor Auth मॉड्यूल के साथ काम करने के लिए अपने Okta एप्लिकेशन को कॉन्फ़िगर करें

मौत का संग्राम 2021 पूरी फिल्म डाउनलोड करें

निम्नलिखित तीन मूल्यों पर ध्यान दें। आप उन्हें अपने Ktor एप्लिकेशन में उपयोग करेंगे:

  • संगठन यूआरएल : निलंबित करें आग शीर्ष मेनू बार पर, और चुनें प्राधिकरण सर्वर मेनू आइटम, से मान कॉपी करें जारीकर्ता यूआरआई
  • ग्राहक ID तथा क्लाइंट सीक्रेट नीचे के अनुसार:

क्लाइंट आईडी और क्लाइंट सीक्रेट का ध्यान रखें

Ktor के OAuth 2.0 मॉड्यूल को कॉन्फ़िगर करें

Ktor के पास OAuth क्लाइंट का कार्यान्वयन है—इसे बस कॉन्फ़िगर करने की आवश्यकता है। किसी भी कुंजी, टोकन या क्रेडेंशियल को सीधे कोड में सम्मिलित न करना हमेशा अच्छा अभ्यास है। डेमो प्रोजेक्ट के लिए भी। पर्यावरण चर से ओक्टा मापदंडों को इंजेक्ट करने के लिए, एक नया ब्लॉक जोड़ें |_+_|:

initial

IntelliJ IDEA या किसी अन्य IDE से अपना आवेदन शुरू करने के लिए, ये पर्यावरण चर प्रदान किए जाने चाहिए। में रन/डीबग कॉन्फ़िगरेशन संवाद, पर क्लिक करें पर्यावरण चर और उन्हें निर्दिष्ट करें जैसा कि मेरे पास नीचे है।

क्लाइंट आईडी और क्लाइंट सीक्रेट का ध्यान रखें

फिर, एक |_+_| . बनाएं सभी ओक्टा-कॉन्फ़िगरेशन संबंधित कार्यों को समाहित करने के लिए फ़ाइल।

आप एक |_+_| . भी बना सकते हैं निम्नलिखित कोड के साथ फाइल करें:

git clone -b initial https://github.com/oktadeveloper/okta-kotlin-ktor-example.git cd okta-kotlin-ktor-example

अगला, भागो |_+_| अपना ऐप चलाने से पहले।

google-places-स्वत: पूर्ण प्रतिक्रिया-मूल

यदि आप विंडोज़ पर हैं, तो फ़ाइल को नाम दें main और उपयोग करें ./gradlew run की बजाय http://localhost:8080 .

|_+_| में ओक्टा सेवाओं के लिए एक सामान्य विन्यास वर्ग जोड़ें।

My Ktor nano Blogging Service

|_+_| में कॉन्फ़िगरेशन रीडर बनाएं। यह एक |_+_| . लेता है वस्तु, उससे पढ़ता है, और एक बनाता है |_+_| वस्तु।

http://localhost:8080/

अंततः कौन सा प्रामाणिक मॉड्यूल कॉन्फ़िगरेशन को |_+_| के रूप में पारित करने की अपेक्षा कर रहा है। उसके लिए, आपको |_+_| में मैपिंग फ़ंक्शन की आवश्यकता है:

http://localhost:8080/login/authorization-callback

Ktor प्रमाणीकरण मॉड्यूल सेटअप करें

सभी प्रमाणीकरण कॉन्फ़िगरेशन और हैंडलिंग |_+_| . के अंदर होते हैं |_+_| . का कार्य फ़ाइल। इसे कॉन्फ़िगरेशन से भरना शुरू करें। उपयोग |_+_| एप्लिकेशन फ़ाइल से कॉन्फ़िगरेशन पढ़ने के लिए। फिर, स्थापित करें |_+_| सुविधा और इसे उपयोग करने के लिए कॉन्फ़िगर करें OAuth , इसे एक रीडायरेक्ट कॉलबैक, ओक्टा OAuth2 कॉन्फ़िगरेशन, और एक डिफ़ॉल्ट |_+_| . प्रदान करें Ktor OAuth क्लाइंट सुविधाओं के लिए।

http://localhost:8080

यह सुनिश्चित करने के लिए कि प्रदान किए गए टोकन वैध हैं, उन्हें सत्यापित करने की आवश्यकता है। यह का उपयोग करके किया जा सकता है ओक्टा जेडब्ल्यूटी सत्यापनकर्ता पुस्तकालय . एक्सेस टोकन और आईडी टोकन सत्यापनकर्ता निम्नानुसार बनाएं:

resources/application.conf

इसके बाद, तीन लॉगिन-विशिष्ट समापन बिंदु कॉन्फ़िगर करें। Ktor DSL निम्नलिखित संरचना मानता है:

... okta { orgUrl = ${OKTA_ORGURL} clientId = ${OKTA_CLIENT_ID} clientSecret = ${OKTA_CLIENT_SECRET} }

#कोटलिन #प्रोग्रामिंग #डेवलपर #सुरक्षा #वेब-विकास

Developer.okta.com

Ktor और Kotlin के साथ सुरक्षित ब्लॉगिंग सेवा एप्लिकेशन कैसे बनाएं

Ktor और Kotlin के साथ एक सुरक्षित ब्लॉगिंग सेवा एप्लिकेशन बनाने का तरीका जानें। आप आधुनिक जेवीएम स्टैक का उपयोग करके अपनी खुद की नैनो ब्लॉगिंग सेवा (संक्षेप में एनएबीएल) का निर्माण करेंगे। इसमें कोटलिन प्रोग्रामिंग भाषा, केटोर वेब फ्रेमवर्क का उपयोग करना और इसे ओक्टा के साथ सुरक्षित करना शामिल है।

यह सभी देखें: