2016-10-20 42 views
7

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

यह मैंने सुरक्षा परिभाषाओं और भूमिकाओं के लिए स्वयं परिभाषित चर का उपयोग करके कोशिश की, लेकिन जब मैं इसे swagger2markup के माध्यम से चलाता हूं या swagger- के माध्यम से उस जानकारी (x-role-names) को प्रलेखन में कॉपी नहीं किया गया है, ui।

"securityDefinitions": { 
    "baseUserSecurity": { 
      "type": "basic", 
      "x-role-names": "test" 
     } 
    } 

endpoint प्रति भूमिका और अनुमति जानकारी दस्तावेज़ के लिए सबसे अच्छा तरीका क्या है?

उत्तर

2

यदि आपका एपीआई ओथ प्रमाणीकरण का उपयोग करता है, तो आप इसके लिए स्कोप का उपयोग कर सकते हैं। बुनियादी प्रमाणीकरण के खिलाफ स्वैगर/OpenApi में भूमिकाओं का प्रतिनिधित्व करने के लिए कोई मानक तरीका नहीं है, तो आप (, जैसा कि आप मिल गया है जो इस तरह के स्वैगर-यूआई या swagger2markup के रूप में उपकरणों की व्याख्या का कोई तरीका नहीं) सहित विक्रेता-एक्सटेंशन का उपयोग कर छोड़ दिया जाता है, या summary या description गुणों में टेक्स्ट के रूप में जानकारी।

आप securityDefinitions सभी प्रकार basic को परिभाषित कर सकते हैं और प्रति भूमिका एक का उपयोग कर सकते हैं लेकिन यह एक हैक का थोड़ा सा है।

भी एक प्रस्ताव अन्य सुरक्षा योजनाओं के लिए स्कोप के उपयोग को चौड़ा करने के लिए इस मुद्दे को https://github.com/OAI/OpenAPI-Specification/issues/1366 देखें।

+0

मुझे कल्पना में विवरण दिखाई देता है लेकिन सारांश नहीं दिखता है। यह किस संस्करण में उपलब्ध है? दुर्भाग्यवश, किसी भी तरह से, वे केवल सामान्य सुरक्षा ब्लॉक में प्रदर्शित होते हैं, न कि प्रत्येक एपीआई कॉल के साथ जो अधिक आदर्श होगा। यह बुनियादी साथ गुंजाइश को परिभाषित करने swagger2markup साथ की अनुमति दी है, लेकिन कल्पना के खिलाफ है की तरह लग रहा है, इसलिए मैं "हैक" कर सकते हैं कि इसे और अधिक की तरह मैं आशा करता हूं होने के लिए प्राप्त करने के लिए - लेकिन अभी भी आदर्श नहीं। – whatsTheDiff

+0

क्षमा करें, मैं 'सारांश' नहीं 'synopsis' के बारे में सोच रहा था, यह ऑपरेशन स्तर पर होगा, हालांकि सुरक्षा परिभाषा नहीं। – MikeRalphson

संबंधित मुद्दे