এই রেফারেন্স পৃষ্ঠাটিতে গুগল-প্রদত্ত সেইসব এন্ডপয়েন্ট ও ইন্টারফেসের বিবরণ দেওয়া হয়েছে, যেগুলো আপনার অ্যাপ OAuth-ভিত্তিক অ্যাকাউন্ট লিঙ্কিং প্রক্রিয়ার সময় ব্যবহার করে।
পূর্বশর্ত এবং মানদণ্ড
এই গুগল এন্ডপয়েন্টগুলির সাথে সফলভাবে যোগাযোগ করার জন্য, আপনার ইন্টিগ্রেশনকে অবশ্যই নিম্নলিখিত মানগুলি মেনে চলতে হবে:
- OAuth 2.0 : RFC 6749 এর সাথে সঙ্গতিপূর্ণ।
- JSON ওয়েব টোকেন (JWT) : RFC 7519 (স্ট্রিমলাইনড লিঙ্কিং এবং RISC-এর জন্য) এর সাথে সঙ্গতিপূর্ণ।
- নিরাপত্তা ইভেন্ট টোকেন : RFC 8417 (RISC-এর জন্য) অনুযায়ী।
- HTTPS : সকল অনুরোধ অবশ্যই একটি সুরক্ষিত HTTPS সংযোগের মাধ্যমে করতে হবে।
OAuth পুনঃনির্দেশ URI
সফল প্রমাণীকরণ এবং সম্মতির পর আপনার পরিষেবা ব্যবহারকারীর ব্রাউজারকে যে এন্ডপয়েন্টে পুনঃনির্দেশিত করে। YOUR_PROJECT_ID পাথ প্যারামিটারটি হলো সেই আইডি যা আপনি নিবন্ধনের সময় কনফিগার করেন।
- URL:
https://oauth-redirect.googleusercontent.com/r/ YOUR_PROJECT_ID স্যান্ডবক্স ইউআরএল:
https://oauth-redirect-sandbox.googleusercontent.com/r/ YOUR_PROJECT_IDপদ্ধতি:
GET(ব্রাউজার রিডাইরেক্ট ব্যবহার করে)
অনুরোধের পরামিতি
ব্যবহারকারীকে গুগলে ফেরত পাঠানোর সময়, URL-এর সাথে প্যারামিটার যুক্ত করতে হবে। ব্যবহৃত OAuth ফ্লো-এর উপর নির্ভর করে, এই প্যারামিটারগুলো হয় কোয়েরি স্ট্রিং (Auth Code ফ্লো) অথবা URL ফ্র্যাগমেন্ট (Implicit ফ্লো) হিসেবে ফরম্যাট করা হয়।
| প্যারামিটার | বর্ণনা |
|---|---|
code | (অথরাইজেশন কোড ফ্লো-এর জন্য আবশ্যক) আপনার পরিষেবা দ্বারা তৈরি অনুমোদন কোড। |
state | (প্রয়োজনীয়) গুগল থেকে প্রাথমিকভাবে প্রাপ্ত অপরিবর্তিত অবস্থার মান। |
access_token | (ইমপ্লিসিট ফ্লো-এর জন্য আবশ্যক) আপনার পরিষেবা দ্বারা তৈরি দীর্ঘস্থায়ী অ্যাক্সেস টোকেন। |
token_type | (অন্তর্নিহিত প্রবাহের জন্য আবশ্যক) অবশ্যই bearer হতে হবে। |
ত্রুটিপূর্ণ প্রতিক্রিয়া
OAuth রিডাইরেক্ট URI-তে করা অনুরোধটি ত্রুটিপূর্ণ হলে, আপনি একটি HTTP 400 Bad Request ত্রুটি পাবেন। রেসপন্স বডিতে নিম্নলিখিত কাঠামোসহ একটি JSON অবজেক্ট থাকবে:
| মাঠ | বর্ণনা |
|---|---|
sendPostBody | JS কোডটি POST কমান্ডের মাধ্যমে redirectUri-তে রিডাইরেক্ট করবে কিনা, তা নির্ধারণ করে। এই ক্ষেত্রে এর মান সাধারণত false । |
errorMessage | যখন রিডাইরেক্ট সম্পন্ন করা যায় না, তখন ক্লায়েন্টকে দেখানোর জন্য একটি ত্রুটি বার্তা। ফ্র্যাগমেন্ট অনুপস্থিত থাকলে, বার্তাটি হলো "A URI fragment or query string must be set." |
OAuth 2.0 ত্রুটিপূর্ণ প্রতিক্রিয়া
যদি ব্যবহারকারী সম্মতি না দেন অথবা আপনার পরিষেবাতে কোনো ত্রুটি দেখা দেয়, তাহলে আপনার পরিষেবাটিকে অবশ্যই ব্যবহারকারীকে স্ট্যান্ডার্ড OAuth 2.0 ত্রুটি প্যারামিটার (যেমন error=access_denied ) সহ OAuth রিডাইরেক্ট URI-তে ফেরত পাঠাতে হবে। Google এই প্যারামিটারগুলো প্রসেস করবে এবং ব্যবহারকারীকে একটি উপযুক্ত ত্রুটি স্ক্রিন প্রদর্শন করবে।
RISC API (ঐচ্ছিক)
আপনার প্ল্যাটফর্মে কোনো ব্যবহারকারী তাদের অ্যাকাউন্ট আনলিঙ্ক করলে, RISC প্রোটোকল ব্যবহার করে Google-কে সক্রিয়ভাবে অবহিত করার জন্য আপনার পরিষেবাটি এটি ব্যবহার করে, যা উভয় প্ল্যাটফর্মকে সিঙ্ক অবস্থায় রাখা নিশ্চিত করে।
- URL:
https://risc.googleapis.com/v1/events:publish - পদ্ধতি:
POST - প্রমাণীকরণ: এর জন্য যথাযথ অনুমতিসহ একটি গুগল সার্ভিস অ্যাকাউন্ট টোকেন প্রয়োজন।
- কন্টেন্ট-টাইপ:
application/json
নিরাপত্তা ইভেন্ট টোকেন দাবি
টোকেন বাতিলকরণ ঘটনা সম্পর্কে গুগলকে অবহিত করার জন্য আপনি যে সিকিউরিটি ইভেন্ট টোকেন ব্যবহার করেন, সেগুলোকে অবশ্যই নিম্নলিখিত সারণিতে উল্লিখিত শর্তাবলী মেনে চলতে হবে:
| দাবি | বর্ণনা |
|---|---|
iss | ইস্যুকারীর দাবি: এটি একটি ইউআরএল যা আপনি হোস্ট করেন এবং নিবন্ধনের সময় এটি গুগলের সাথে শেয়ার করা হয়। |
aud | অডিয়েন্স ক্লেইম: এটি গুগলকে JWT-এর প্রাপক হিসেবে চিহ্নিত করে। এটি অবশ্যই google_account_linking এ সেট করতে হবে। |
jti | JWT ID ক্লেইম: এটি একটি অনন্য আইডি যা আপনি প্রতিটি সিকিউরিটি ইভেন্ট টোকেনের জন্য তৈরি করেন। |
iat | দাবিতে ইস্যুকৃত সময়: এটি একটি NumericDate মান যা এই নিরাপত্তা ইভেন্ট টোকেনটি তৈরি হওয়ার সময়কে নির্দেশ করে। |
toe | ইভেন্ট দাবির সময়: এটি একটি ঐচ্ছিক NumericDate মান যা সেই সময়কে নির্দেশ করে যখন টোকেনটি বাতিল করা হয়েছিল। |
exp | মেয়াদোত্তীর্ণের সময়সীমার দাবি: এই ক্ষেত্রটি অন্তর্ভুক্ত করবেন না , কারণ যে ঘটনার ফলে এই বিজ্ঞপ্তিটি দেখানো হচ্ছে, তা ইতিমধ্যে ঘটে গেছে। |
events | নিরাপত্তা ইভেন্ট দাবি: এটি একটি JSON অবজেক্ট, এবং এতে অবশ্যই নিম্নলিখিত ফিল্ডগুলো সম্বলিত শুধুমাত্র একটি টোকেন বাতিলকরণ ইভেন্ট অন্তর্ভুক্ত থাকতে হবে:
|
ফিল্ডের প্রকার এবং ফরম্যাট সম্পর্কে আরও তথ্যের জন্য, JSON ওয়েব টোকেন (JWT) দেখুন।
অ্যাপ ফ্লিপ "ফ্লিপ-ব্যাক" ইন্টারফেস
অ্যাপ ফ্লিপ-এর জন্য, আপনার মোবাইল অ্যাপকে অবশ্যই গুগল অ্যাপে অনুমোদন কোড বা অ্যাক্সেস টোকেন ফেরত পাঠাতে হবে।
অ্যান্ড্রয়েড (ইন্টেন্ট রেজাল্ট)
আপনার অ্যাপটি একটি ইন্টেন্ট ব্যবহার করে খোলা হয়। সম্মতি পাওয়ার পর, এটি সম্পন্ন হয় এবং গুগলকে একটি ফলাফল ফেরত পাঠায়। আরও তথ্যের জন্য, অ্যান্ড্রয়েড ইমপ্লিমেন্টেশন গাইড দেখুন।
- অ্যাকশন:
com.google.android.gms.auth.CODE_AVAILABLE - অতিরিক্ত:
code,state,access_token,token_type।
iOS (কাস্টম ইউআরএল স্কিম এবং ইউনিভার্সাল লিঙ্ক)
আপনার অ্যাপটি একটি কাস্টম ইউআরএল স্কিম অথবা একটি এইচটিটিপিএস ইউনিভার্সাল লিঙ্ক ব্যবহার করে গুগল খোলে। আরও তথ্যের জন্য, আইওএস ইমপ্লিমেন্টেশন গাইড দেখুন।
- ফর্ম্যাট:
<return_url>?code=AUTHORIZATION_CODE&state=STATE_STRING