Token Endpoints এবং Authorization Endpoints

OAuth 2.0 এর Components (OAuth 2.0 এর উপাদানসমূহ) - ওঅথ (OAuth 2.0) - Computer Programming

306

OAuth 2.0 এর একটি মূল ধারণা হল Authorization Endpoints এবং Token Endpoints, যা বিভিন্ন OAuth ফ্লোতে গুরুত্বপূর্ণ ভূমিকা পালন করে। এই দুটি এন্ডপয়েন্টের মধ্যে পার্থক্য এবং তাদের কাজ কী, তা বুঝতে হলে প্রথমে জানতে হবে এই দুটি এন্ডপয়েন্টের ভূমিকা।


1. Authorization Endpoint

Authorization Endpoint হলো সেই URL বা এন্ডপয়েন্ট যেখানে ব্যবহারকারীরা তাদের অ্যাকাউন্ট এবং অনুমতির মাধ্যমে অ্যাক্সেস কোডের জন্য অনুরোধ করেন। এটি সাধারণত ব্যবহারকারীর ব্রাউজারে রিডিরেক্ট করা হয়, এবং এখানে ব্যবহারকারী তাদের অ্যাকাউন্টে লগইন করে নির্দিষ্ট তৃতীয় পক্ষের অ্যাপ্লিকেশনকে তাদের ডেটা অ্যাক্সেস করতে অনুমতি দেন।

Authorization Endpoint-এর কাজ:

  • ব্যবহারকারীর অথেনটিকেশন (authentication) এবং অথোরাইজেশন (authorization) সম্পাদন করা হয়।
  • এই এন্ডপয়েন্টে পৌঁছানোর পর, ব্যবহারকারী অ্যাপ্লিকেশনটির জন্য অনুমতি প্রদান করেন, এবং এরপরে সার্ভার একটি authorization code প্রদান করে।
  • এটি ব্যবহারকারীকে তাদের অ্যাকাউন্টে লগইন করায় এবং তার পর অ্যাপ্লিকেশনকে অ্যাক্সেস টোকেন পেতে সাহায্য করে।

Authorization Endpoint এর একটি উদাহরণ:

https://authorization-server.com/auth?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=read_profile&state=xyz123

এখানে:

  • response_type=code: এই কোডটি নির্দেশ করে যে অ্যাপ্লিকেশন একটি authorization code পেতে চায়।
  • client_id: ক্লায়েন্ট অ্যাপ্লিকেশনের ইউনিক আইডি।
  • redirect_uri: সেই URL যেখানে ব্যবহারকারী অনুমোদনের পর ফিরে আসবে।
  • scope: নির্দিষ্ট অনুমতির তালিকা (যেমন পঠন, লেখা ইত্যাদি)।
  • state: সেশন হাইজ্যাকিং প্রতিরোধ করতে ব্যবহৃত একটি অদৃশ্য ভ্যালু।

2. Token Endpoint

Token Endpoint হল সেই URL বা এন্ডপয়েন্ট যেখানে ক্লায়েন্ট অ্যাপ্লিকেশনটি authorization code এর মাধ্যমে access token পেতে রিকোয়েস্ট করে। Authorization Endpoint থেকে authorization code পাওয়ার পর, ক্লায়েন্ট এই কোডটি Token Endpoint-এ পাঠায় এবং সেখানে access token (অথবা refresh token) পাওয়া যায়, যা ব্যবহারকারী বা অ্যাপ্লিকেশনের নামের সাথে সম্পর্কিত একটি সুরক্ষিত অনুমতি চিহ্ন।

Token Endpoint এর কাজ:

  • ক্লায়েন্ট অ্যাপ্লিকেশনটি authorization code অথবা client credentials (যদি প্রয়োজন হয়) পাঠায়।
  • সার্ভার এই তথ্য যাচাই করে এবং একটি access token প্রদান করে যা ব্যবহৃত হবে রিসোর্স অ্যাক্সেস করতে।
  • এটি সাধারণত ক্লায়েন্টের জন্য একটি client_id এবং client_secret ব্যবহার করে যাচাই করা হয়, যা সার্ভারকে ক্লায়েন্ট অ্যাপ্লিকেশনটির প্রকৃততা নিশ্চিত করতে সাহায্য করে।

Token Endpoint-এর একটি উদাহরণ:

https://authorization-server.com/token

এই এন্ডপয়েন্টে ক্লায়েন্ট সাধারণত HTTP POST রিকোয়েস্ট ব্যবহার করে, যেখানে তারা authorization code, client_id, client_secret, এবং redirect_uri পাঠায়। উদাহরণস্বরূপ:

POST /token HTTP/1.1
Host: authorization-server.com
Content-Type: application/x-www-form-urlencoded

code=AUTHORIZATION_CODE&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&redirect_uri=REDIRECT_URI&grant_type=authorization_code

এখানে:

  • code: Authorization Endpoint থেকে প্রাপ্ত authorization code
  • client_id: ক্লায়েন্ট অ্যাপ্লিকেশনের ইউনিক আইডি।
  • client_secret: ক্লায়েন্ট অ্যাপ্লিকেশনের গোপন কোড যা সার্ভার যাচাই করে।
  • redirect_uri: সঠিক রিডিরেক্ট URI যাচাই করা হয়।
  • grant_type=authorization_code: এই ভ্যালুটি নির্দেশ করে যে এটি একটি authorization code ফ্লো।

এটি সফল হলে, সার্ভার একটি access token এবং (যদি প্রয়োজন হয়) একটি refresh token প্রদান করবে।


প্রধান পার্থক্য

বৈশিষ্ট্যAuthorization EndpointToken Endpoint
কাজব্যবহারকারীকে অনুমতি দিতে এবং authorization code প্রাপ্তিauthorization code অথবা client credentials দিয়ে access token প্রাপ্তি
ব্রাউজার রিডিরেক্টব্যবহারকারীকে ব্রাউজারে রিডিরেক্ট করা হয়ক্লায়েন্ট অ্যাপ্লিকেশন সার্ভারে HTTP POST রিকোয়েস্ট পাঠায়
উত্তরauthorization code প্রদান করা হয়access token (এবং refresh token) প্রদান করা হয়
অথেনটিকেশন প্রক্রিয়াব্যবহারকারীকে লগইন এবং অনুমতি দেওয়ার প্রক্রিয়াক্লায়েন্ট অ্যাপ্লিকেশনের প্রকৃততা যাচাই করে

সারসংক্ষেপ

  • Authorization Endpoint হল সেই পয়েন্ট যেখানে ব্যবহারকারী তাদের অ্যাকাউন্টে লগইন করেন এবং তৃতীয় পক্ষের অ্যাপ্লিকেশনকে তাদের রিসোর্স অ্যাক্সেস করার অনুমতি দেন। এরপর সার্ভার একটি authorization code প্রদান করে।
  • Token Endpoint হল সেই পয়েন্ট যেখানে ক্লায়েন্ট অ্যাপ্লিকেশন authorization code বা অন্যান্য যাচাইকরণ তথ্য ব্যবহার করে access token পায়, যা রিসোর্সে অ্যাক্সেস করতে ব্যবহৃত হয়।

OAuth 2.0 ফ্লোতে এই দুটি এন্ডপয়েন্ট অত্যন্ত গুরুত্বপূর্ণ, কারণ এগুলি ক্লায়েন্ট এবং সার্ভারের মধ্যে নিরাপদ যোগাযোগ এবং অ্যাক্সেস নিয়ন্ত্রণের জন্য ব্যবহৃত হয়।

Content added By
Promotion

Are you sure to start over?

Loading...