परिचय
ऑप्टिमाइज़ली सीएमएस में सामग्री प्रबंधन की शक्ति से अधिक कुशल और सुव्यवस्थित हो जाता है सामग्री प्रबंधन एपीआई.
अनुकूलन सामग्री प्रबंधन एपीआई बुनियादी सामग्री प्रबंधन कार्यों के लिए REST समापन बिंदु जोड़ता है जैसे:
- सामग्री ऑब्जेक्ट बनाएं
- मौजूदा सामग्री ऑब्जेक्ट को संशोधित करें
- सामग्री ऑब्जेक्ट हटाएँ
- ड्राफ्ट सामग्री ऑब्जेक्ट प्राप्त करें
- सामग्री ऑब्जेक्ट को स्थानांतरित करें
REST API ऑप्टिमाइज़ली कंटेंट मैनेजमेंट सिस्टम (CMS) में कस्टम एकीकरण कोड को तैनात किए बिना बाहरी सामग्री को ऑप्टिमाइज़ली में धकेलने के लिए उपयोगी है।
इस त्वरित मार्गदर्शिका में, मैं एपीआई का उपयोग करके सामग्री निर्माण के लिए समाधान स्थापित करने के चरणों के बारे में बताऊंगा।
आवश्यक शर्तें
प्रक्रिया में उतरने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित हैं:
- एक सक्रिय ऑप्टिमाइज़ली सीएमएस उदाहरण (अलॉय साइट सेटअप के लिए, मेरी मार्गदर्शिका देखें यहाँ).
- पोस्टमैन जैसे एपीआई अनुरोध टूल से परिचित होना।
- आपके सीएमएस की सामग्री संरचना और प्रकारों की अच्छी समझ।
चरण 1: सामग्री प्रबंधन एपीआई स्थापित और कॉन्फ़िगर करें
सबसे पहले, आइए सामग्री प्रबंधन एपीआई सेट करें। यदि आप विज़ुअल स्टूडियो का उपयोग कर रहे हैं, तो आप इसे इस कमांड का उपयोग करके पैकेज मैनेजर या सीएलआई के माध्यम से इंस्टॉल कर सकते हैं:
dotnet add package EPiServer.ContentManagementApi
एक बार इंस्टॉल हो जाने पर, बुनियादी कॉन्फ़िगरेशन को शामिल करने के लिए स्टार्टअप क्लास को संशोधित करें। में ConfigureServices
विधि, निम्न पंक्ति जोड़ें:
services.AddContentManagementApi(o => o.DisableScopeValidation = true);
फिर, अपना समाधान बनाएं और चलाएं:
dotnet run
चरण 2: समापन बिंदु का परीक्षण करें
सामग्री प्रबंधन एपीआई स्थापित करने के बाद, आप पोस्टमैन का उपयोग करके समापन बिंदु का परीक्षण कर सकते हैं। एक साधारण POST अनुरोध भेजें /api/episerver/v3.0/contentmanagement
. चूंकि हमने कोई पैरामीटर नहीं जोड़ा है, इसलिए एक विशिष्ट JSON प्रतिक्रिया के साथ 400 ख़राब अनुरोध स्थिति कोड की अपेक्षा करें।
{
"errors": {
"filename": [
"The filename field is required."
],
"content-Type": [
"The contentType field is required."
]
},
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "00-b2f4877cb70b04fc20ea6fc0dfe1d2fe-d37b0cf2e4dc9458-00",
"code": "InvalidModel"
}
यह प्रतिक्रिया हमें बताती है कि समापन बिंदु चालू है। वैकल्पिक रूप से, इसका परिणाम 404 स्थिति कोड होता। इस स्तर पर, हम पोस्टमैन के माध्यम से ऑप्टिमाइज़ली सीएमएस में सामग्री जोड़ने का प्रयास कर सकते हैं। दिए गए JSON निकाय का उपयोग करें, लेकिन अनुमतियों के कारण आपको संभवतः 401 स्थिति का सामना करना पड़ेगा।
{
"name": "Text Block (Content Management API)",
"language": {
"name": "en"
},
"contentType": [
"Block",
"EditorialBlock"
],
"parentLink": {
"id": "33"
},
"mainBody": {
"value": "Hello World
"
},
"status": "Published"
}
प्रतिक्रिया उदाहरण
{
"type": "https://tools.ietf.org/html/rfc7235#section-3.1",
"title": "Unauthorized",
"status": 401,
"detail": "Access was denied to content 33. The required access level was "Create, Publish".",
"instance": "/api/episerver/v3.0/contentmanagement",
"traceId": "00-c91883ef32f39b8dda0571df62c44b7b-d48fe0471f6254da-00"
}
परीक्षण उद्देश्यों के लिए, आप पेज बनाने और प्रकाशित करने के लिए “हर किसी” को अस्थायी रूप से एक्सेस अधिकार प्रदान कर सकते हैं। यह परिवर्तन करने के बाद, अनुरोध पुनः चलाएँ। अब आपको सीएमएस में सफलतापूर्वक बनाई गई सामग्री के साथ 201 (सफलता) स्थिति कोड प्राप्त होना चाहिए।
चरण 3: ओपनआईडी कनेक्ट के माध्यम से एपीआई प्रमाणीकरण
वास्तविक दुनिया में, “हर किसी” को सामग्री प्रकाशित करने की पहुंच देना स्वीकार्य नहीं है। यह सुनिश्चित करने के लिए कि अधिकृत व्यक्ति/सेवाएं सामग्री बनाएं और प्रकाशित करें, हमें ओपनआईडी कनेक्ट और बियरर टोकन (जेडब्ल्यूटी) का उपयोग करके सामग्री प्रबंधन एपीआई अनुरोधों को प्रमाणित करने की आवश्यकता है। ऐसे:
- इस आदेश के साथ OpenIDConnect NuGet पैकेज स्थापित करें:
dotnet add package EPiServer.OpenIDConnect.UI
- इस पैकेज को कॉन्फ़िगर करने के लिए स्टार्टअप क्लास में संशोधन करें और सामग्री प्रबंधन एपीआई को इसका समर्थन करें। कोड को इस प्रकार अपडेट करें:
services.AddContentManagementApi(OpenIDConnectOptionsDefaults.AuthenticationScheme, options => { options.DisableScopeValidation = true; }); services.AddOpenIDConnect( useDevelopmentCertificate: true, signingCertificate: null, encryptionCertificate: null, createSchema: true ); services.AddOpenIDConnectUI();
- फ़ाइल को सहेजने के बाद, समाधान बनाएं और चलाएं और ऑप्टिमाइज़ली एडमिन मोड तक पहुंचें। सेटिंग्स में “ओपनआईडी कनेक्ट” देखें, एक नया एप्लिकेशन बनाएं (स्कोप्स को “epi_content_management” के रूप में सेट करें)।
- पोस्टमैन में POST अनुरोध करके जांचें कि क्या यह सब काम करता है
/api/episerver/connect/token
निम्नलिखित मापदंडों के साथ:- client_id: एपीआई-क्लाइंट
- क्लाइंट_सीक्रेट: सुपरसीक्रेट
- अनुदान_प्रकार: क्लाइंट_क्रेडेंशियल्स
- आपको एक समय-सीमित पहुंच टोकन प्राप्त होगा।
यहां तक पहुंचने और सफलतापूर्वक एक बियरर टोकन उत्पन्न करने में सक्षम होने के बाद, हमें अपने नव निर्मित क्लाइंट को सामग्री बनाने और प्रकाशित करने की अनुमति देनी होगी, हम ऑप्टिमाइज़ली में एक्सेस अधिकारों का प्रबंधन करके ऐसा करते हैं। “हर कोई” समूह को दिए गए अतिरिक्त अधिकार हटाएं और उन्हें इसमें जोड़ें api-client
इसके बजाय समान अधिकारों के साथ।
अंत में, पोस्टमैन से एक्सेस टोकन कॉपी करें और एक और POST अनुरोध करें /api/episerver/v3.0/contentmanagement
इस बार प्राधिकरण टोकन भी सेट कर रहा हूं।
इतना ही! अब हम JWT बियरर टोकन का उपयोग करके सामग्री प्रबंधन एपीआई के माध्यम से सुरक्षित रूप से सामग्री बना रहे हैं।
** अतिरिक्त सुरक्षा उपायों के लिए आप अपने ऑप्टिमाइज़ली सॉल्यूशन में कुछ अतिरिक्त सीओआरएस नीतियां जोड़ सकते हैं ताकि केवल कुछ सेवाएं ही सामग्री प्रबंधन एपीआई अनुरोधों को कॉल कर सकें या आईपी प्रतिबंधों के माध्यम से एपीआई को लॉक भी कर सकें।
निष्कर्ष
कंटेंट डेफिनिशन एपीआई के साथ कंटेंट मैनेजमेंट एपीआई काफी शक्तिशाली उपकरण हैं, उन्हें सेटअप करना मुश्किल नहीं है और उदाहरण के लिए कंटेंट मैनेजमेंट एपीआई के साथ कई उपयोग के मामले हैं, हम माइग्रेशन प्रक्रियाओं के लिए काफी आसानी से उपयोग कर सकते हैं और सीएमएस में बड़ी मात्रा में सामग्री आयात कर सकते हैं। सभी प्रोग्रामेटिक रूप से थोक करें। सास सीएमएस की हालिया घोषणा के साथ कंटेंट डेफिनिशन एपीआई सामग्री प्रकार बनाने में काफी उपयोगी है और कुछ ऐसा है जिसे आसानी से स्रोत नियंत्रित किया जा सकता है, इसलिए निश्चित रूप से देखने और आज़माने के लिए कुछ है।
संदर्भ
- सामग्री प्रबंधन एपीआई (optimizely.com) के साथ आरंभ करें
- एपीआई प्रमाणीकरण (optimizely.com)
- सामग्री प्रबंधन एपीआई के उदाहरण (optimizely.com)
01 नवंबर 2023
2023-11-01 22:44:53
#समगर #परबधन #एपआई #और #ओपनआईड #कन #क #उपयग #करन #क #लए #एक #तवरत #मरगदरशक