পরিষেবাদি বেসিক প্রমাণীকরণ কীভাবে ব্যবহার করবেন?


10

পরিষেবাদি বেসিক প্রমাণীকরণ মডিউলটি কীভাবে ব্যবহার করবেন ?

আমি আমার পরিষেবার জন্য এইচটিপি বেসিক লেখক যুক্ত করতে চাই। আমি এটি ইনস্টল করেছি এবং এটি আমার শেষ পয়েন্ট কনফিগারেশনে সক্ষম করেছি। আমার শেষ পয়েন্ট কনফিগারেশনে আমি এই "এইচটিটিপি বেসিক প্রমাণীকরণ পরিষেবাদি_বাসিক_আউথের কোনও সেটিংস উপলব্ধ নেই" পেয়েছি। সেটিং পৃষ্ঠাটি কোথায়?

উত্তর:


11

মডিউলটি ড্রুপাল অ্যাকাউন্টগুলির বিরুদ্ধে একটি ওয়েব পরিষেবা কলকে প্রমাণীকরণ করে।

  1. মডিউল সক্ষম করুন
  2. একটি ড্রুপাল ব্যবহারকারী সেটআপ করুন
  3. ব্যবহারকারীর শংসাপত্রাদি দিয়ে ওয়েব পরিষেবা কল করুন।

নোট করুন যে বুনিয়াদি লেখার সাথে, এসএসএল ব্যবহার না করা হলে শংসাপত্রগুলি আটকে যেতে পারে।

মডিউলটি স্ট্যান্ডার্ড পিএইচপি প্রমাণীকরণ শিরোনাম ব্যবহার করে এবং কোনও নির্দিষ্ট ভূমিকা বা অনুমতি পরীক্ষা না করেই স্ট্যান্ডার্ড ড্রুপাল লগইন ফর্ম জমা দেয়। সুতরাং যে কোনও ড্রুপাল ব্যবহারকারী কাজ করবে।

এটি পরীক্ষা করতে কার্ল বা উইজেটের সাহায্যে একটি পরীক্ষা ওয়েব-পরিষেবা কল করুনকার্ল স্ট্যাকওভারফ্লো উত্তরের সাথে কলটিতে কীভাবে পিএইচপি দিয়ে কল করবেন সেই নির্দেশাবলী রয়েছে ।


একক ইউআরএল কল এ এই কাঠামো ব্যবহার থেকে সম্পূর্ণ পৃথক?
মাইউজারনেম

@ সিট্রিকগুই আলাদা নয়। এই সিনট্যাক্সটি ইউআরআই স্কিম দ্বারা সরবরাহ করা হয়েছে en.wikedia.org/wiki/URI_scheme । আমি এটা সেভাবে করতাম না। কিছু REST পরিষেবাদি একটি ব্রাউজারে পরীক্ষা করা যায় এবং আমি শঙ্কিত হতে পারি শংসাপত্রগুলি ব্রাউজারের ইতিহাসে চলে যায়। Https শংসাপত্রগুলির সাথে এনক্রিপ্ট করা হয়। এটি পিটিএইচ লাইব্রেরির উপরও নির্ভর করবে, পিএইচপি এইচপি ঠিক হতে পারে php.net/manual/en/features.http-auth.php#44686- তে মন্তব্য দেখুন । মাইক্রোসফ্ট ব্রাউজারগুলি সিনট্যাক্সটিকে আর সমর্থন করে না তাই আপনি যদি কলটি করতে জাভাস্ক্রিপ্ট ব্যবহার করেন তবে এটি কাজ নাও করতে পারে। কিছু API গুলি এই পদ্ধতি ব্যবহার করেন goo.gl/eS9mqv
Interlated

দুঃখিত, আপনি যেভাবে কলটি প্রয়োগ করেছেন তার কলটির কোনও প্রভাব নেই। সুতরাং আপনার সাথে পরীক্ষার: p@host.com যদি এটি কাজ করে তবে তা ঠিক আছে। আমি বলছি যে এর মতো বাস্তবায়ন করার সমস্যা থাকতে পারে। আমি শিরোনামগুলি মনে করব, পরীক্ষার প্রবাহকে যত তাড়াতাড়ি সম্ভব ইউআরএল নয়।
23

4

উপরের মডিউলটি বেসিক অ্যাক্সেস প্রমাণীকরণ প্রযুক্তি ব্যবহার করে পরিষেবাদি কলগুলি প্রমাণীকরণ করতে ব্যবহৃত হয় .. আপনি নিম্নরূপে পরিষেবা কলটিতে অনুমোদনের শিরোনাম যুক্ত করে পরিষেবা কলগুলিকে প্রমাণীকরণের জন্য আপনার ড্রুপাল ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করবেন

যখন ব্যবহারকারী এজেন্ট সার্ভারের প্রমাণীকরণের শংসাপত্রগুলি প্রেরণ করতে চায় তখন এটি অনুমোদনের শিরোনাম ব্যবহার করতে পারে।

অনুমোদনের শিরোনাম নীচে হিসাবে নির্মিত হয়েছে:

ব্যবহারকারীর নাম এবং পাসওয়ার্ড একটি স্ট্রিং "ব্যবহারকারীর নাম: পাসওয়ার্ড" এ একত্রিত করা হয়

ফলস্বরূপ স্ট্রিং আক্ষরিক তারপরে বেস 64 এর আরএফসি2045-এমআইএমএই রূপটি ব্যবহার করে এনকোড করা হয়, কেবলমাত্র 76 চর / লাইন সীমাবদ্ধ না করে অনুমোদনের পদ্ধতি এবং একটি স্থান অর্থাৎ "বেসিক" এর পরে এনকোড স্ট্রিংয়ের আগে রাখা হয়।

উদাহরণস্বরূপ, যদি ব্যবহারকারী এজেন্ট ব্যবহারকারীর নাম হিসাবে 'আলাদিন' এবং পাসওয়ার্ড হিসাবে 'ওপেন তিল' ব্যবহার করে তবে শিরোনাম নীচে তৈরি হবে:

অনুমোদন: বেসিক কিউডাব্লুএক্সজেডজেডআরজিবিপিভিসিজিউইউএনএলএলসি 2FtZQ ==

উদাহরণস্বরূপ নীচে কলটি কার্ল ব্যবহার করে ..

curl -H "Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" http://www.example.com/endpoint/yourservice

2
হ্যাঁ, আমি এটি ইতিমধ্যে পড়েছি, তবে এখনও এটি বাস্তবায়ন করতে জানি না? মডিউল ইনস্টল করার পরে কি করবেন ?. যেকোনো সাহায্যই অসাধারণ. ধন্যবাদ
রিজালুল ফিকরি

2
  1. মডিউলটি সক্ষম হয়ে গেলে কাঠামো> পরিষেবাগুলিতে যান
  2. আপনার শেষ পয়েন্টটি নির্বাচন করুন এবং সম্পাদনা ক্লিক করুন এখানে চিত্র বর্ণনা লিখুন

  3. আপনার ক্লায়েন্টকে পরীক্ষা করতে https://addons.mozilla.org/fr/firefox/addon/restclient/ এর মতো একটি সরঞ্জাম ব্যবহার করুন :

এখানে চিত্র বর্ণনা লিখুন

দ্রষ্টব্য: আমি এটির সাথে সমস্যা হচ্ছি যদিও এইচটিটিপি বেসিক প্রমাণীকরণ বিকল্পটি এই শেষ পয়েন্টের একটি উত্সকে কল করে চিহ্নিত করা হয়েছিল 401 এর পরিবর্তে 200 ফিরিয়েছে । বলার জন্য, মডিউলটি আমার শেষ পয়েন্টটি সুরক্ষিত করতে ব্যর্থ হয়েছিল।

সমস্যাটি উপস্থিত হয়:

https://www.drupal.org/project/services_basic_auth
version: 7.x-1.4

আমি এটি মডিউলটির জন্য একটি প্যাচ করে সমাধান করেছি:

https://www.drupal.org/node/2734207


1

কী ভুল হতে পারে: সমস্ত সেটিংস সেট করার পরে:

  1. পরিষেবাদি-বেসিক-প্রমাণীকরণ মডিউল সক্ষম করুন
  2. পরিষেবাগুলি এপিআই-শেষ-পয়েন্ট তৈরি করুন, উদাহরণস্বরূপ: সমস্ত নোড এর মাধ্যমে পান
  3. সম্পাদনা পৃষ্ঠায় "HTTP বেসিক প্রমাণীকরণ" চেকবাক্স সেট করুন
  4. একটি ব্যবহারকারী তৈরি করুন

এবং লক্ষ্য করা গেছে, আপনি যদি "প্রকাশিত সামগ্রী দেখুন" অনুমতিটি অক্ষম না করেন তবে কোনও ব্যবহারকারীর ফিরে আসা ফলাফলের সাথে পরিষেবা এপিআই শেষ পয়েন্টে অ্যাক্সেস পেতে পারে।


0

Services Basic Authenticationমডিউলটি ইনস্টল করার পরে আপনার সার্ভারের REST সেটিংসে যান:

/admin/structure/services

Editবিকল্পটি প্রবেশ করান এবং নীচে একটি চেকবক্স রয়েছে:

HTTP basic authentication

এটি সক্ষম করুন এবং সেভ বোতামটি চাপুন।


কোন ব্যবহারকারী: পাসওয়ার্ড আমি HTTP বেসিক প্রমাণীকরণের জন্য ব্যবহার করব?
আশ্বিনপি

-1

সামগ্রী অ্যাক্সেস মডিউল ব্যবহার করতে ভুলবেন না।

এমপিডির অনুরোধ অনুযায়ী অতিরিক্ত বিশদ যুক্ত করা হচ্ছে।

আপনি যদি কন্টেন্ট অ্যাক্সেস মডিউলটি ব্যবহার না করে থাকেন তবে ব্যবহারকারীরা অন্যদের দ্বারা তৈরি সমস্ত সামগ্রী দেখতে পাবে যা তারা দেখার কথা ছিল না। উদাহরণস্বরূপ, ব্যবহারকারী এ ব্যক্তিগত ডেটা সংরক্ষণ করেছেন যা ব্যবহারকারীর বি দেখতে বা বুদ্ধিমানের বিপরীতে নয় not পরিষেবাদি বেসিক প্রমাণীকরণ মডিউল লেখককে সক্ষম করে তবে সামগ্রীতে অ্যাক্সেস প্রয়োগ করে না। সামগ্রী অ্যাক্সেস মডিউল প্রয়োগ করে। আপনি যদি সামগ্রীতে অ্যাক্সেস নিয়ন্ত্রণ ব্যবহার না করে থাকেন তবে কোনও ব্যবহারকারীকে প্রমাণীকরণের কোনও মানে নেই।


আপনি কীভাবে এই মডিউলটি ব্যবহারকারীর প্রয়োজনীয়তাগুলি সমাধান করতে পারেন তার প্রসারিত করতে পারেন?
এমপিডোনাদিও

আসল উত্তরে আমার আপডেটটি দেখুন।
টেকওয়েস্টকোস্টফোজিয়া
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.