OAuth2 ব্যবহার করতে কীভাবে বিদ্যমান লিগ্যাসি ওয়েব অ্যাপ্লিকেশন স্থানান্তর করতে হয়


10

আমি বর্তমানে একটি 15 বছরের পুরানো লেগ্যাসি মোনোলিথিক ওয়েব অ্যাপ্লিকেশন পেয়েছি যার প্রায় 1 মিলিয়ন ব্যবহারকারী রয়েছেন, বাড়ির বিকাশযুক্ত অনুমোদন ও প্রমাণীকরণ সিস্টেম ব্যবহার করে: জেএএএস, ব্যবহারকারীর নাম এবং পিডাব্লুডিস স্টোর ডিবিতে বেসিক পাসওয়ার্ড হ্যাশিং সহ কিছু 2 এফএর ব্যক্তিগত যাচাইকরণ প্রশ্ন (বিভিন্ন সহ) হ্যাশিং অ্যালগরিদম ইত্যাদি)।

আমি আগামী 12-18 মাসের মধ্যে প্রাথমিকভাবে ইউআইতে ফোকাস করে, তবে আস্তে আস্তে অন্তর্নিহিত অংশগুলি (স্প্রিং, স্প্রিং সিকিউরিটি ইত্যাদিতে আপগ্রেড করা) আপগ্রেড করব। এই প্রকল্পের মধ্যে, আমরা মডিউল-বাই-মডিউল ভিত্তিতে ইউআই আপগ্রেডকে সামলানোর সিদ্ধান্ত নিয়েছি; এটি সম্পূর্ণ হয়ে গেলে প্রতিটি মডিউল উপলব্ধ করা; স্বতন্ত্র ওয়েব অ্যাপস (সমস্ত একই ইউএক্স ডিজাইন বজায় রাখা) মধ্যে একচেটিয়া ভাঙার একটি নিখুঁত সুযোগ।

আমি যেখানে এটির পরিকল্পনা করার চেষ্টা করতে গিয়ে আটকেছি তা প্রমাণীকরণ ও অনুমোদনের স্তরে। আমার একটি ক্রস কাটিং সমাধান দরকার যা সমস্ত মডিউলগুলিতে চাপ দেয়, যাতে কোনও ব্যবহারকারী যখন কোনও ওয়েবপ্যাপ থেকে অন্য ওয়েবপৃষ্ঠায় পরিচালিত হয় তখন এটি একটি বিরামবিহীন রূপান্তর - এমনকি তারা জানতেও পারবেন না যে তারা বিভিন্ন ওয়েব অ্যাপসে রয়েছে। OAuth2 পুরোপুরি সমাধানের মতো মনে হচ্ছে।

আমি কীভাবে এটি সংহত করতে পারি তা বোঝার চেষ্টা করে আটকে আছি। আমাকে কি আমার নিজস্ব কাস্টম OAuth2 সার্ভার তৈরি করতে হবে? এটি আমাকে ভয়ঙ্কর ধারণার মতো আঘাত করে। তবে আমি কীভাবে করব:

  1. আমার সমস্ত ব্যবহারকারীর অ্যাকাউন্ট এবং অনুমোদনের প্রক্রিয়াটিকে তৃতীয় পক্ষের OAuth2 সার্ভারে স্থানান্তর করুন
  2. চেহারাটি কাস্টমাইজ করুন এবং আমার বাকী অ্যাপ্লিকেশনটির সাথে মেলে তুলতে অনুভব করুন (এটি কত সহজে / সম্ভাব্য হবে তা নিশ্চিত নয়)
  3. তৃতীয় পক্ষের সার্ভারের মাধ্যমে সংযোগ করার সময় টিপিক্যাল "অ্যাপ্লিকেশন এক্সওয়াইজেড আপনার অ্যাকাউন্ট অ্যাক্সেস করার অনুমতি চাই ..." পপআপটি প্রতিরোধ করবে? (উদা: গুগল ওপেনআইডি, ফেসবুক, ইত্যাদি)।

আমার লক্ষ্য হ'ল ব্যবহারকারীর জন্য বর্তমান অবস্থা থেকে নতুন রাজ্যে নির্বিঘ্ন রূপান্তর সরবরাহ করা, তবে পৃথক ওয়েব অ্যাপস তৈরির সক্ষমতা প্রদান করা যা সমস্তই ওয়েব অ্যাপের বাইরে প্রমাণীকরণ ও অনুমোদন দেয়।


আমি ভাবছি কোনও এসএসও যথেষ্ট হবে কিনা? ওআউথ ডন আপনার এখানে যে ধরণের সিস্টেমের প্রয়োজন তা আমার কাছে মনে হয় না। একটি থেকে দেখে নিন সি এ এস
Laiv

উত্তর:


2

প্রকাশ : আমি আথ 0 এ একজন প্রকৌশলী ।

এটি একটি প্রধান পয়েন্টের উপর নির্ভর করে ... আপনাকে সিদ্ধান্ত নিতে হবে যদি:

  1. আপনি নিজের পরিচয় প্রদানকারী এবং অনুমোদনের সার্ভারটি তৈরি এবং / বা বজায় রাখতে সরাসরি যথেষ্ট পরিমাণ সময় (এবং অপ্রত্যক্ষভাবে অর্থ ব্যয় করতে) ব্যয় করতে চান
  2. অথবা আপনি সরাসরি অর্থ ব্যয় করতে এবং তৃতীয় পক্ষের প্রমাণীকরণ সরবরাহকারী যেমন Auth0 ব্যবহার করতে পছন্দ করেন।

উভয় বিকল্পগুলি আপনার কার্যকরী প্রয়োজনীয়তার দৃষ্টিকোণ থেকে পুরোপুরি কার্যকর। কাস্টম বিকাশের সাথে আপনি কার্যকারিতাটির সম্পূর্ণ নিয়ন্ত্রণে আপনি সমর্থন করার সিদ্ধান্ত নিয়েছেন তাই আমি তালিকাভুক্ত প্রয়োজনীয়তার প্রতি Auth0 কীভাবে প্রতিক্রিয়া জানাতে পারে তার উত্তরের অংশটি আমি ফোকাস করব

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


কীভাবে বিদ্যমান ব্যবহারকারীদের একটি এথ0 ভিত্তিক সিস্টেমে স্থানান্তরিত করবেন?

আপনি আপনার ডেটাবেস ব্যবহার চালিয়ে যাওয়ার বিষয়ে সিদ্ধান্ত নিতে পারেন এবং আপনাকে ব্যবহার করতে হবে এমন প্রমাণীকরণ সম্পর্কিত প্রোটোকলগুলির সমস্ত সম্মতি সরবরাহ করতে আপনি Auth0 এর উপর নির্ভর করতে পারেন বা আপনি আপনার ব্যবহারকারীদের Auth0 পরিচালিত ডেটাবেসগুলিতে মাইগ্রেট করতে পারেন এবং আপনি কীভাবে পাসওয়ার্ডগুলি সংরক্ষণ এবং বৈধ করবেন তা নিয়ে উদ্বেগ বন্ধ করতে পারেন।

আপনি যদি আপনার ডাটাবেস ব্যবহার চালিয়ে যেতে পছন্দ করেন তবে কাস্টম ডেটাবেস ব্যবহার করে ব্যবহারকারীর নাম এবং পাসওয়ার্ড সহ ব্যবহারকারীদের প্রমাণ করুন

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

(দস্তাবেজগুলি মাইএসকিউএলকে উদাহরণ হিসাবে দেখায়, অন্যান্য ডাটাবেস ইঞ্জিনগুলি সমর্থিত)

অন্যদিকে, আপনি মাইগ্রেট ব্যবহারকারীদের বর্ণিত মাইগ্রেশন প্রক্রিয়াটি অ্যাথ0-তে ব্যবহার করে ব্যবহারকারীর শংসাপত্রগুলি নির্বিঘ্নে অথ 0 ডেটাবেজে স্থানান্তরিত করতে পারেন

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

আপনি যদি তাদের সকলের সাথে একবারে আমাদের পাসওয়ার্ড হ্যাশিং অ্যালগরিদম ব্যবহার শুরু করতে চান তবে আপনি পরিচালনা ইউপিআই এর মাধ্যমে আপনার সমস্ত ব্যবহারকারীকে এথ0 এ তৈরি করতে পারেন। এটির ব্যবহারকারীদের তাদের পাসওয়ার্ড পুনরায় সেট করতে প্রয়োজনীয় পার্শ্ব-প্রতিক্রিয়া রয়েছে।

কীভাবে কাস্টম দ্বি-পদক্ষেপের প্রমাণীকরণ (যাচাইকরণের প্রশ্নগুলি) ব্যবহার করা যায়?

Auth0 দ্বারা সরবরাহিত প্রমাণীকরণ পাইপলাইন নিয়মের ব্যবহারের মাধ্যমে সম্পূর্ণ কাস্টমাইজযোগ্য । এর অর্থ হ'ল যদিও আপনাকে কোনও প্রোটোকল সম্পর্কিত স্টাফ বাস্তবায়ন করতে হয়নি, আপনি এখনও আপনার অ্যাপ্লিকেশনটিতে প্রমাণীকরণ কীভাবে ঘটে তার ছোট্ট বিবরণটি সূক্ষ্ম টিউন করতে পারেন।

এতে আপনার বিদ্যমান যাচাইকরণের প্রশ্নগুলি দু-পদক্ষেপের প্রমাণীকরণ প্রক্রিয়া হিসাবে চালিয়ে যাওয়ার সম্ভাবনা অন্তর্ভুক্ত রয়েছে যেখানে ব্যবহারকারী আথ 0 দ্বারা যাচাইকৃত একটি প্রাথমিক পাসওয়ার্ড সরবরাহ করে এবং তারপরে আপনি তাদের একটি কাস্টম নিয়ম থেকে আরও তথ্যের জন্য জিজ্ঞাসা করেন। (নিয়মগুলি কেবল জাভাস্ক্রিপ্ট তাই সম্ভাবনাগুলি অসীম)

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

প্রমাণীকরণের UI চেহারা এবং অনুভূতিকে কীভাবে কাস্টমাইজ করবেন?

Auth0 এর সাহায্যে আপনার ডিফল্ট লগইন পৃষ্ঠাগুলি বা লকের মতো প্রমাণীকরণ উইজেটগুলি ব্যবহার করে কোনও ক্লিন প্রমাণীকরণ ইউআই থাকতে পারে । এগুলি সমস্ত কিছু ডিগ্রি কাস্টমাইজেশনের সমর্থন করে এবং আপনি সর্বদা নিজের ইউআই নিজে করার সিদ্ধান্ত নিতে পারেন এবং পরিবর্তে নিম্ন স্তরের Auth0 গ্রন্থাগার ( Auth0.js ) ব্যবহার করতে পারেন যা ব্যবহারকারীর ইন্টারফেসে কোনও বাধা তৈরি করে না।

কাস্টমাইজেশন সম্পর্কিত আরও তথ্যের জন্য:

কীভাবে স্পষ্ট সম্মতি পৃষ্ঠাগুলি প্রতিরোধ করবেন?

আপনি প্রমাণীকরণের উদ্দেশ্যে পরিচয় প্রদানকারী হিসাবে এবং আপনার API এর জন্য একটি OAuth2 অনুমোদন সার্ভার (বর্তমানে কেবল মার্কিন অঞ্চলে উপলব্ধ) উভয়ই Auth0 উভয়কে ব্যবহার করতে পারেন।

পরিচয় প্রদানকারী হিসাবে আপনাকে সম্মতি পৃষ্ঠাগুলি নিয়ে চিন্তা করতে হবে না, ব্যবহারকারী আথ 0 দ্বারা পরিচালিত তাদের শংসাপত্রগুলির সাথে প্রমাণীকরণ করে এবং তারপরে আপনার অ্যাপ্লিকেশনটিতে পুনঃনির্দেশিত হয় - এটাই।

OAuth2 তে কোনও পরিষেবা দৃশ্যের হিসাবে যখন সম্মতি সক্ষম হয় রাস্তা-মানচিত্রে নির্দিষ্ট অ্যাপ্লিকেশনের জন্য সম্মতি পৃষ্ঠাগুলি বাইপাস করার অনুমতি অন্তর্ভুক্ত থাকে।


একটি চূড়ান্ত নোটে, এটি খুব আকর্ষণীয় এবং চ্যালেঞ্জিং প্রকল্প হিসাবে মনে হচ্ছে আপনি সেখানে পেয়েছেন, তাই আপনার চূড়ান্ত সিদ্ধান্তের জন্য স্বাধীনভাবে শুভেচ্ছা luck

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

আমি মনে করি এটি আপনার নিজের সুরক্ষিতকরণের ক্ষেত্রে সবচেয়ে বড় সমস্যা, এমন অনুষ্ঠানগুলি ঘটবে যে সময়সীমার শর্টকাট আরোপ করা হয় এবং শর্টকাট তৈরির জন্য সুরক্ষা আসলেই খুব ভাল ক্ষেত্র নয়।

আপনার যদি আরও প্রশ্ন থাকে তবে যদি আপনি ভাবেন যে আমি সহায়ক হতে পারি তবে আমাকে জানান।


সমস্ত বিবরণের জন্য ধন্যবাদ। আমার মনে আছে আউথ0-এর দিকে তাকানো, তবে আমি যা বলতে পারি তা থেকে, অউথ0 কেবল মেঘযুক্ত; এটা কি ঠিক? সুরক্ষা এবং গোপনীয়তার কারণে, আমি কেবলমাত্র আমার নিজের ডেটাসেন্টার / ব্যক্তিগত মেঘে হোস্ট করতে পারি এমন সমাধানগুলিতে সীমাবদ্ধ। Auth0 কি সেই ধরণের বিকল্প সরবরাহ করে?
এরিক বি

হ্যাঁ, স্থাপনা / হোস্টিংয়ের ক্ষেত্রে Auth0 খুব নমনীয়। অ-সর্বজনীন মেঘ সমাধান বর্তমানে Auth0 অ্যাপ্লায়েন্স হিসাবে পরিচিত এবং আপনি এটি Auth0 এর মেঘ, আপনার মেঘ, বা আপনার নিজস্ব ডেটা সেন্টারের কোনও ডেডিকেটেড অঞ্চলে স্থাপন করতে পারেন । আরও তথ্যের জন্য অ্যাপ্লায়েন্স ডক্স পরীক্ষা করুন। আপনার যদি আরও বিশদ তথ্যের প্রয়োজন হয় তবে আমাকে জানান, আমি হয় আপনাকে সরাসরি সাহায্য করার চেষ্টা করতে পারি বা আপনাকে সঠিক লোকের দিকে নির্দেশ করতে পারি।
জোয়াও অ্যাঞ্জেলো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.