JWT aud
(শ্রোতা) দাবি
আরএফসি 7519 অনুসারে :
"অডি" (শ্রোতা) দাবী JWT এর উদ্দেশ্যে করা প্রাপকদের সনাক্ত করে। প্রতিটি অধ্যক্ষের উদ্দেশ্য JWT প্রসেস করা উচিত দর্শকদের দাবির সাথে একটি মান দিয়ে নিজেকে সনাক্ত করতে হবে। যদি দাবিটি প্রক্রিয়াকরণকারী মূল দাবিটি উপস্থিত থাকে যখন "অডি" দাবিতে কোনও মান দিয়ে নিজেকে চিহ্নিত না করে, তবে জেডব্লিউটি অবশ্যই প্রত্যাখ্যান করা উচিত। সাধারণ ক্ষেত্রে, "অডি" মান হ'ল কেস-সংবেদনশীল স্ট্রিংগুলির একটি অ্যারে, প্রতিটি স্ট্রিংঅরুরি মান থাকে। বিশেষ ক্ষেত্রে যখন জেডাব্লুটিটির একটি শ্রোতা থাকে, "অডি" মানটি স্ট্রিংঅরুরি মান সমেত একক ক্ষেত্রে সংবেদনশীল স্ট্রিং হতে পারে। শ্রোতার মানগুলির ব্যাখ্যা সাধারণত অ্যাপ্লিকেশন নির্দিষ্ট।
এই দাবির ব্যবহার বৈকল্পিক।
aud
স্পেক দ্বারা সংজ্ঞায়িত শ্রোতা ( ) দাবিটি জেনেরিক এবং অ্যাপ্লিকেশন সুনির্দিষ্ট। উদ্দেশ্যযুক্ত ব্যবহার হ'ল টোকেনের উদ্দেশ্যপ্রাপ্ত প্রাপকদের সনাক্ত করা। প্রাপক বলতে কী বোঝায় তা হ'ল অ্যাপ্লিকেশন নির্দিষ্ট। দর্শকের মান হয় হয় স্ট্রিংগুলির একটি তালিকা, বা যদি কেবল একটি aud
দাবি থাকে তবে এটি একটি একক স্ট্রিং হতে পারে । টোকেনের স্রষ্টা কার্যকর করেনি যা কার্যকরভাবে প্রয়োগ করে না aud
, টোকেনটি ব্যবহার করা উচিত কিনা তা নির্ধারণ করার দায়িত্ব প্রাপকের is
মানটি যাই হোক না কেন, যখন কোনও প্রাপক জেডাব্লুটিটি যাচাই করে যাচাই করতে চান এবং টোকেনটি তার উদ্দেশ্যগুলির জন্য ব্যবহার করার উদ্দেশ্যে তৈরি করা হয়েছিল, এটি aud
নিজের সনাক্তকরণে কোন মানটি নির্ধারণ করতে হবে এবং প্রাপকের ঘোষিত আইডি হলে টোকেনটি বৈধ হওয়া উচিত aud
দাবীতে উপস্থিত এটি কোনও ইউআরএল বা অন্য কোনও অ্যাপ্লিকেশন নির্দিষ্ট স্ট্রিং কিনা তা বিবেচ্য নয়। উদাহরণস্বরূপ, যদি আমার সিস্টেম aud
স্ট্রিংয়ের সাথে নিজেকে চিহ্নিত করে : api3.app.com
তবে aud
দাবিটি api3.app.com
দর্শকের মানগুলির তালিকায় অন্তর্ভুক্ত থাকলে কেবল এটি JWT গ্রহণ করা উচিত ।
অবশ্যই প্রাপকগণ উপেক্ষা করা বেছে নিতে পারেন aud
, সুতরাং এটি কেবল তখনই কার্যকর যখন কোনও প্রাপক ইতিবাচক বৈধতা চান যে এটির জন্য টোকনটি বিশেষভাবে তৈরি করা হয়েছিল।
স্পেসিফিকেশনের উপর ভিত্তি করে আমার ব্যাখ্যাটি হ'ল aud
দাবিটি উদ্দেশ্য-নির্মিত JWTs তৈরি করতে কার্যকর যা কেবলমাত্র নির্দিষ্ট উদ্দেশ্যে বৈধ। একটি সিস্টেমে এর অর্থ হতে পারে আপনি কিছু বৈশিষ্ট্যের জন্য একটি টোকেনকে বৈধ বলে মনে করতে পারেন তবে অন্যদের পক্ষে বৈধ নয়। আপনি এখনও টোকেনগুলি ইস্যু করতে পারেন যা কেবলমাত্র "দর্শকদের জন্য" সীমাবদ্ধ, একই কী এবং বৈধতা অ্যালগরিদম ব্যবহার করার সময়।
যেহেতু সাধারণ ক্ষেত্রে একটি জেডাব্লুটিটি কোনও বিশ্বস্ত পরিষেবা দ্বারা উত্পন্ন হয় এবং অন্যান্য বিশ্বস্ত সিস্টেমগুলি (যে সিস্টেমগুলি অবৈধ টোকেন ব্যবহার করতে চায় না) ব্যবহার করে, এই সিস্টেমগুলিকে কেবল তাদের যে মানগুলি ব্যবহার করা হবে তা সমন্বয় করা দরকার।
অবশ্যই, aud
সম্পূর্ণরূপে alচ্ছিক এবং যদি আপনার ব্যবহারের ক্ষেত্রে এটি পরোয়ানা না দেয় তবে তা উপেক্ষা করা যেতে পারে। আপনি যদি নির্দিষ্ট দর্শকদের দ্বারা টোকেনগুলি ব্যবহারে সীমাবদ্ধ রাখতে না চান, বা আপনার সিস্টেমগুলির কোনওটিই টোকেনটিকে বৈধতা দেবে না aud
, তবে এটি অকেজো।
উদাহরণ: অ্যাক্সেস বনাম রিফ্রেশ টোকন
একটি স্বাক্ষরিত (এখনও সহজ) উদাহরণটি আমি মনে করতে পারি এটি সম্ভবত আমরা আলাদা এনক্রিপশন কী এবং অ্যালগরিদমগুলি প্রয়োগ না করেই টোকেন অ্যাক্সেস এবং রিফ্রেশের জন্য JWT ব্যবহার করতে চাই, তবে কেবল নিশ্চিত করতে চাই যে অ্যাক্সেস টোকেনগুলি রিফ্রেশ টোকেন হিসাবে বৈধতা পাবে না, বা ভাইস -versa।
ব্যবহার করে aud
আমরা এই টোকেনগুলি তৈরি করার পরে refresh
রিফ্রেশ টোকেনের access
জন্য দাবি এবং অ্যাক্সেস টোকেনের জন্য দাবি নির্দিষ্ট করতে পারি । রিফ্রেশ টোকেন থেকে একটি নতুন অ্যাক্সেস টোকেন পাওয়ার জন্য যখন একটি অনুরোধ করা হয়, তখন আমাদের যাচাই করতে হবে যে রিফ্রেশ টোকেনটি একটি আসল রিফ্রেশ টোকন ছিল। aud
বৈধতা উপরে বর্ণিত আমাদের বলতে হবে টোকেন আসলে একটি বৈধ রিফ্রেশ করেছি বলে দাবি জন্য বিশেষভাবে খুঁজছেন টোকেনটি ছিল কিনা refresh
এ aud
।
ওআউথ ক্লায়েন্ট আইডি বনাম জেডব্লিউটি aud
দাবি
OAuth ক্লায়েন্ট আইডি সম্পূর্ণরূপে সম্পর্কিত নয় এবং এর JWT aud
দাবির সাথে সরাসরি সম্পর্ক নেই direct OAuth এর দৃষ্টিকোণ থেকে, টোকেনগুলি অস্বচ্ছ বস্তু।
অ্যাপ্লিকেশন যা এই টোকেনগুলি স্বীকার করে তা এই টোকেনগুলির অর্থ পার্সিং এবং বৈধকরণের জন্য দায়ী। আমি JWT aud
দাবির মধ্যে OAuth ক্লায়েন্ট আইডি নির্দিষ্ট করে দেওয়ার খুব বেশি মূল্য দেখতে পাচ্ছি না ।
aud REQUIRED for session_token. Contains the client_id of the client receiving the assertion.