অরক্ষিত ব্যবহারকারীগণ
আমরা PUTএকটি api/v1/account/passwordশেষ পয়েন্টে একটি অনুরোধ করব এবং ব্যবহারকারী যে অ্যাকাউন্টের জন্য পাসওয়ার্ডটি পুনরায় সেট করতে (আপডেট করতে) চায় সেটি শনাক্ত করতে সংশ্লিষ্ট অ্যাকাউন্ট ইমেলের সাথে একটি পরামিতি প্রয়োজন:
PUT : /api/v1/account/password?email={email@example.com}
দ্রষ্টব্য: যেমন @ ডগডোমেনি তার মন্তব্যে উল্লেখ করেছেন যে ইউআরএলটিতে কোয়েরি স্ট্রিং হিসাবে ইমেলটি পাস করা একটি সুরক্ষা ঝুঁকি। GET প্যারামিটারগুলি ব্যবহার করার সময় উন্মুক্ত করা হয় না https(এবং আপনার httpsঅনুরোধগুলির জন্য সর্বদা একটি সঠিক সংযোগ ব্যবহার করা উচিত ) তবে এতে জড়িত অন্যান্য সুরক্ষা ঝুঁকি রয়েছে are আপনি এই ব্লগ পোস্টে এই বিষয়ে আরও পড়তে পারেন এখানে ।
অনুরোধ সংস্থায় ইমেলটি প্রবেশ করা এটি জিইটি পরম হিসাবে পাস করার জন্য আরও সুরক্ষিত বিকল্প হবে:
PUT : /api/v1/account/password
অনুরোধ বডি:
{
"email": "email@example.com"
}
প্রতিক্রিয়াটির একটি 202স্বীকৃত প্রতিক্রিয়া অর্থ রয়েছে:
প্রক্রিয়াজাতকরণের জন্য অনুরোধটি গ্রহণ করা হয়েছে, তবে প্রক্রিয়াজাতকরণ শেষ হয়নি। অনুরোধটি শেষ পর্যন্ত কার্যকর করা হতে পারে বা নাও হতে পারে, কারণ বাস্তবে প্রক্রিয়াজাতকরণের সময় এটি অনুমোদিত নয়। এর মতো একটি অ্যাসিনক্রোনাস অপারেশন থেকে একটি স্ট্যাটাস কোড পুনরায় পাঠানোর কোনও সুবিধা নেই।
ব্যবহারকারীর একটি ইমেল পাবেন email@example.comএবং আপডেটের অনুরোধটি প্রক্রিয়াটি ইমেল থেকে লিঙ্কটি নিয়ে নেওয়া পদক্ষেপের উপর নির্ভর করে।
https://example.com/password-reset?token=1234567890
এই ইমেলটি থেকে লিঙ্কটি খোলার সাথে সামনের শেষ অ্যাপ্লিকেশনটিতে রিসেট পাসওয়ার্ড ফর্মের দিকে পরিচালিত হবে যা কোনও লুকানো ইনপুট ক্ষেত্রের ইনপুট হিসাবে লিঙ্ক থেকে রিসেট পাসওয়ার্ড টোকেন ব্যবহার করে (টোকেনটি ক্যোয়ারী স্ট্রিং হিসাবে লিঙ্কটির অংশ) is অন্য একটি ইনপুট ক্ষেত্র ব্যবহারকারীকে একটি নতুন পাসওয়ার্ড সেট করতে দেয়। নতুন পাসওয়ার্ডটি নিশ্চিত করতে দ্বিতীয় ইনপুটটি ফ্রন্ট-এন্ডে বৈধতার জন্য ব্যবহৃত হবে (টাইপস প্রতিরোধে)।
বিঃদ্রঃ: ইমেলটিতে আমরা উল্লেখ করতে পারি যে ব্যবহারকারীর কোনও পাসওয়ার্ড পুনরায় সেট করার সূচনা না করায় সে ইমেলটিকে উপেক্ষা করতে পারে এবং তার বর্তমান পাসওয়ার্ডের সাথে অ্যাপ্লিকেশনটি স্বাভাবিকভাবে ব্যবহার করতে পারে
ফর্মটি যখন নতুন পাসওয়ার্ড এবং টোকেনটি ইনপুট হিসাবে জমা দেওয়া হবে তখন পুনরায় সেট করুন পাসওয়ার্ড প্রক্রিয়াটি ঘটবে। ফর্ম ডেটা PUTআবার একটি অনুরোধের সাথে পাঠানো হবে তবে এবার টোকেন সহ এবং আমরা রিসোর্স পাসওয়ার্ডকে একটি নতুন মান দিয়ে প্রতিস্থাপন করব:
PUT : /api/v1/account/password
অনুরোধ বডি:
{
"token":"1234567890",
"new":"password"
}
প্রতিক্রিয়াটি 204কোনও সামগ্রীর প্রতিক্রিয়া হবে
সার্ভারটি অনুরোধটি পূরণ করেছে তবে কোনও সত্তা-দেহ ফেরত দেওয়ার দরকার নেই এবং সম্ভবত আপডেট মেন্টেরফর্মেশনটি ফিরে আসতে চাইবে। প্রতিক্রিয়া হতে পারে সত্তা-শিরোনাম আকারে নতুন বা আপডেট মেন্টেরফর্মেশন অন্তর্ভুক্ত, যা উপস্থিত থাকলে অনুরোধ বৈকল্পিকের সাথে যুক্ত হতে হবে।
প্রমাণীকৃত ব্যবহারকারীরা
অনুমোদনপ্রাপ্ত ব্যবহারকারীরা যাঁর পাসওয়ার্ড পরিবর্তন করতে চান তাদের জন্য PUTঅনুরোধটি ইমেল ছাড়াই তাত্ক্ষণিকভাবে সম্পাদন করা যেতে পারে (আমরা যে অ্যাকাউন্টের জন্য পাসওয়ার্ডটি আপডেট করছি সেটি সার্ভারের সাথে পরিচিত)। এই ক্ষেত্রে ফর্মটি দুটি ক্ষেত্র জমা দেবে:
PUT : /api/v1/account/password
অনুরোধ বডি:
{
"old":"password",
"new":"password"
}