আমার নিজের কারণে এটি খনন করতে হয়েছিল এবং এটি লিখে রেখেছিলাম, তাই আমি যা শিখেছি তা এখানে পোস্ট করব ...
প্রথমত, আমি স্পষ্ট করে বলার ঝুঁকি নিয়ে প্রশ্নের উত্তর দেব: আইডি টোকেনকে বিশ্বাস করা যায় না এবং বর্তমান সময়সীমা অতিক্রান্ত সময়ের চেয়ে বেশি হলে এর বিষয়বস্তু এড়ানো উচিত। প্রশ্নকারীর উত্তরে বলা হয়েছে যে ব্যবহারকারীর প্রাথমিক প্রমাণীকরণের পরে, আইডি টোকেন আবার ব্যবহার হয় না। যাইহোক, আইডি টোকেন করা হয় স্বাক্ষরিত পরিচয় প্রদানকারী দ্বারা, এটা অবশ্যই হতে পারে দরকারী যে কোন সময়ে নির্ভরযোগ্যভাবে নির্ধারণের যারা ব্যবহারকারী অন্যান্য পরিষেবার জন্য কোনো অ্যাপ্লিকেশন ব্যবহার করে হতে পারে হয় একটি উপায় দিতে। একটি সাধারণ ব্যবহারকারীর আইডি বা ইমেল ঠিকানা ব্যবহার করা নির্ভরযোগ্য নয় কারণ এটি সহজেই বানানো যায় (যে কোনও ইমেল ঠিকানা বা ব্যবহারকারীর আইডি প্রেরণ করতে পারে), তবে যেহেতু একটি ওআইডিসি আইডি টোকেন অনুমোদনের সার্ভার দ্বারা স্বাক্ষরিত হয় (এটি সাধারণত তৃতীয় পক্ষ হওয়ার সুবিধাও রয়েছে) এটি ছদ্মবেশী করা যায় না এবং এটি একটি অনেক বেশি নির্ভরযোগ্য প্রমাণীকরণ প্রক্রিয়া।
উদাহরণস্বরূপ, একটি মোবাইল অ্যাপ্লিকেশন একটি ব্যাকএন্ড সেবা বলতে পাবে চাইতে পারেন যারা যে ব্যবহারকারী অ্যাপ্লিকেশন ব্যবহার করে এবং এটি সংক্ষিপ্ত সময়ের প্রারম্ভিক প্রমাণীকরণ নিম্নলিখিত সেই সময় আইডি টোকেন মেয়াদ শেষ হওয়া পর তা করার প্রয়োজন হতে পারে হয়, এবং এইভাবে, ব্যবহারকারীকে বিশ্বস্তভাবে প্রমাণীকরণ করতে ব্যবহার করা যাবে না।
সুতরাং, অ্যাক্সেস টোকেনের মতো (অনুমোদনের জন্য ব্যবহৃত - ব্যবহারকারী কী অনুমতি নিয়েছে তা নির্দিষ্ট করে ) রিফ্রেশ করা যেতে পারে, আপনি কি আইডি টোকেনকে পুনরায় সতেজ করতে পারেন (প্রমাণীকরণের জন্য ব্যবহৃত - ব্যবহারকারী কে তা নির্দিষ্ট করে )? ওআইডিসির স্পেসিফিকেশন অনুসারে উত্তরটি সুস্পষ্ট নয়। ওআইডিসি / ওআউথে টোকেন পাওয়ার জন্য তিনটি "প্রবাহ" রয়েছে, অথরাইজেশন কোড প্রবাহ, ইম্পিপ্লেস ফ্লো এবং হাইব্রিড ফ্লো (যা আমি নীচে এড়িয়ে যাব কারণ এটি অন্য দুটিটির একটি বৈকল্পিক)।
জন্য OIDC / OAuth এর মধ্যে অন্তর্নিহিত প্রবাহ আপনাকে অনুমোদন শেষবিন্দু ব্রাউজারে ব্যবহারকারী পুনঃনির্দেশিত এবং অন্তর্ভুক্ত করে অনুমোদন শেষবিন্দু এ আইডি টোকেন অনুরোধ id_token
এর মান হিসাবে response_type
অনুরোধ প্যারামিটার। একটি অন্তর্নিহিত প্রবাহ সফল প্রমাণীকরণের প্রতিক্রিয়াটি অন্তর্ভুক্ত করার জন্য প্রয়োজনীয় id_token
।
জন্য প্রমাণীকরণ কোড প্রবাহ , ক্লায়েন্ট নির্দিষ্ট করে code
এর মান হিসাবে response_type
অনুরোধ পরামিতি যখন অনুমোদন শেষবিন্দু ব্যবহারকারী পুনঃনির্দেশিত। একটি সফল প্রতিক্রিয়া একটি অনুমোদন কোড অন্তর্ভুক্ত। ক্লায়েন্ট ক্লায়েন্ট অনুমোদনের কোডটি দিয়ে টোকেন এন্ডপয়েন্টে একটি অনুরোধ জানায় এবং ওআইডিসি কোর বিভাগ ৩.১.৩.৩ অনুসারে সফল টোকেন প্রতিক্রিয়া অবশ্যই একটি আইডি টোকেন অন্তর্ভুক্ত করে ।
উভয় প্রবাহের জন্য, আপনি প্রাথমিকভাবে আইডি টোকেন পাবেন, তবে আপনি কীভাবে তা রিফ্রেশ করবেন? ওআইডিসি বিভাগ 12: রিফ্রেশ টোকন ব্যবহার করে রিফ্রেশ টোকেন প্রতিক্রিয়া সম্পর্কে নিম্নলিখিত বিবৃতি রয়েছে:
রিফ্রেশ টোকেনের সফল বৈধতা পাওয়ার পরে, প্রতিক্রিয়াটির অংশটি 3.1.3.3 এর টোকন প্রতিক্রিয়া যা এতে আইডি_ টোকেন নাও থাকতে পারে ।
এটা তোলে নাও হতে পারে একটি আইডি টোকেন থাকে এবং যেহেতু কোন উপায় আইডি টোকেন অন্তর্ভুক্ত করা বলপূর্বক নিদিষ্ট হয়, তাহলে আপনি অনুমান করতে হবে যে প্রতিক্রিয়া আইডি টোকেন থাকবে না। সুতরাং প্রযুক্তিগতভাবে একটি রিফ্রেশ টোকেন ব্যবহার করে একটি আইডি টোকেন "রিফ্রেশ" করার কোনও নির্দিষ্ট উপায় নেই। অতএব, নতুন আইডি টোকন পাওয়ার একমাত্র উপায় হ'ল ব্যবহারকারীকে অনুমোদনের শেষ পয়েন্টে পুনর্নির্মাণ করে এবং উপরে বর্ণিত হিসাবে অন্তর্নিহিত প্রবাহ বা প্রমাণীকরণ কোড প্রবাহ শুরু করে পুনরায় অনুমোদন / প্রমাণীকরণ করুন । ওআইডিসি স্পেসিফিকেশন অনুমোদনের অনুরোধে একটি prompt
অনুরোধের প্যারামিটার যুক্ত করে যাতে ক্লায়েন্ট অনুরোধ করতে পারে যে অনুমোদন সার্ভারটি কোনও ইউআই দিয়ে ব্যবহারকারীকে প্রম্পট না করে, তবে পুনর্নির্দেশটি এখনও ঘটতে হবে।