Access Token সরাসরি সংগ্রহ করা

Implicit Grant Flow (ইমপ্লিসিট গ্রান্ট ফ্লো) - ওঅথ (OAuth 2.0) - Computer Programming

254

OAuth 2.0 প্রোটোকল ব্যবহার করার সময়, Access Token একটি অত্যন্ত গুরুত্বপূর্ণ উপাদান। এটি ক্লায়েন্ট অ্যাপ্লিকেশনকে ব্যবহারকারীর রিসোর্স অ্যাক্সেস করার অনুমতি দেয়। Access Token সাধারণত Authorization Server থেকে সংগ্রহ করা হয়, এবং এটি সাধারনত একটি সীমিত সময়ের জন্য বৈধ থাকে।

যখন আপনি Access Token সরাসরি সংগ্রহ করতে চান, এটি একটি সাধারণ প্রক্রিয়া যা নিচে ব্যাখ্যা করা হয়েছে।


Access Token সরাসরি সংগ্রহ করার পদ্ধতি

  1. Authorization Code Flow (যেমন ওয়েব অ্যাপ্লিকেশনগুলির জন্য):

    এই ফ্লোতে প্রথমে আপনি ব্যবহারকারীকে Authorization Server-এ রিডিরেক্ট করেন, যেখানে তারা অ্যাক্সেস অনুমতি দেয়। তারপর ব্যবহারকারী অ্যাক্সেস কোড পাবেন, যা আপনি একটি Access Token এ রূপান্তর করতে পারেন।

    প্রক্রিয়া:

    1. Authorization Request:
      ব্যবহারকারীকে Authorization Server-এ পাঠান, যেখানে তারা তাদের অ্যাক্সেস অনুমতি দেয়।
    2. Authorization Code:
      ব্যবহারকারী অনুমতি দিলে Authorization Server একটি কোড প্রদান করবে।
    3. Access Token Exchange:
      সেই Authorization কোডটি ক্লায়েন্ট অ্যাপ্লিকেশন Access Token-এ রূপান্তর করতে Authorization Server-এ পাঠায়।

    উদাহরণ:

    POST https://authorization-server.com/oauth/token
    Content-Type: application/x-www-form-urlencoded
    
    client_id=CLIENT_ID
    &client_secret=CLIENT_SECRET
    &code=AUTHORIZATION_CODE
    &redirect_uri=REDIRECT_URI
    &grant_type=authorization_code

    এখানে:

    • client_id এবং client_secret ক্লায়েন্ট অ্যাপ্লিকেশনের পরিচয়।
    • code হল Authorization Code।
    • redirect_uri হল সেই URI যেখানে কোডটি পাঠানো হয়েছিল।
    • grant_type=authorization_code নিশ্চিত করে যে এটি Authorization Code Flow।
  2. Implicit Flow (যেমন ক্লায়েন্ট সাইড অ্যাপ্লিকেশনগুলির জন্য):

    এই ফ্লোতে, Access Token সরাসরি ব্যবহারকারী থেকে ক্লায়েন্ট সাইড অ্যাপ্লিকেশনে পাঠানো হয়, কারণ সিকিউরিটি ইস্যু কম থাকে।

    প্রক্রিয়া:

    1. Authorization Request:
      ব্যবহারকারীকে সরাসরি Authorization Server-এ পাঠান, যেখানে তারা অনুমতি দেয়।
    2. Access Token:
      Authorization Server সরাসরি Access Token প্রদান করবে (কোনো Authorization Code ছাড়া)।

    উদাহরণ:
    URL এ Access Token সরাসরি পাওয়া যায়:

    https://authorization-server.com/oauth/authorize?
      response_type=token&
      client_id=CLIENT_ID&
      redirect_uri=REDIRECT_URI&
      scope=read
  3. Resource Owner Password Credentials Flow (যেমন ট্রাস্টেড অ্যাপ্লিকেশনগুলির জন্য):

    এই ফ্লোতে, ব্যবহারকারীর পাসওয়ার্ড সরাসরি অ্যাপ্লিকেশন দ্বারা সংগ্রহ করা হয়, এবং এক্ষেত্রে Authorization Server টোকেন সরবরাহ করে।

    প্রক্রিয়া:

    1. User Credentials:
      ব্যবহারকারীর ইউজারনেম এবং পাসওয়ার্ড সরাসরি সংগ্রহ করুন।
    2. Request Token:
      ব্যবহারকারীর তথ্য Authorization Server-এ পাঠান।

    উদাহরণ:

    POST https://authorization-server.com/oauth/token
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=password
    &username=USER_NAME
    &password=USER_PASSWORD
    &client_id=CLIENT_ID
    &client_secret=CLIENT_SECRET
  4. Client Credentials Flow (যেমন সার্ভিস-টু-সার্ভিস অথোরাইজেশন):

    এই ফ্লোটি যখন ব্যবহারকারী নেই এবং শুধুমাত্র সার্ভিস অ্যাক্সেসের প্রয়োজন হয়, তখন এটি Access Token সরাসরি ক্লায়েন্টের মাধ্যমে পাওয়া যায়।

    প্রক্রিয়া:

    1. Client Authentication:
      ক্লায়েন্ট সরাসরি Authorization Server-এ পাঠায় client_id এবং client_secret
    2. Request Token:
      Authorization Server অ্যাক্সেস টোকেন প্রদান করবে।

    উদাহরণ:

    POST https://authorization-server.com/oauth/token
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=client_credentials
    &client_id=CLIENT_ID
    &client_secret=CLIENT_SECRET

Access Token ব্যবহারের পরবর্তী পদক্ষেপ

একবার আপনি Access Token সংগ্রহ করলে, এটি সাধারণত HTTP হেডারে পাঠানো হয় API বা রিসোর্স সার্ভারে রিকোয়েস্ট করার জন্য। উদাহরণ:

GET https://api.example.com/user
Authorization: Bearer ACCESS_TOKEN

এখানে:

  • ACCESS_TOKEN হলো সরাসরি সংগ্রহ করা Access Token।
  • Authorization হেডার ব্যবহার করা হয় টোকেন প্রেরণের জন্য।

সারসংক্ষেপ

  • Access Token সরাসরি সংগ্রহ করা OAuth 2.0 প্রোটোকলের বিভিন্ন প্রবাহের মাধ্যমে সম্ভব। উদাহরণস্বরূপ, Authorization Code Flow, Implicit Flow, Resource Owner Password Credentials Flow, এবং Client Credentials Flow
  • Access Token সংগ্রহ করার পরে এটি নিরাপদভাবে ব্যবহারকারী বা ক্লায়েন্ট অ্যাপ্লিকেশনকে রিসোর্স অ্যাক্সেস করতে সহায়ক।
Content added By
Promotion

Are you sure to start over?

Loading...