JavaScript ফ্লিট ট্র্যাকিং লাইব্রেরি ব্যবহার করার আগে, নিশ্চিত করুন যে আপনি ফ্লিট ইঞ্জিনের সাথে পরিচিত এবং সেট আপ করেছেন। বিস্তারিত জানার জন্য, ফ্লিট ইঞ্জিন দেখুন।
এই নথিটি দেখায় কিভাবে ওয়েব পৃষ্ঠা অ্যাপ এবং ফ্লিট ইঞ্জিনের মধ্যে অনুমোদন সক্ষম করতে হয়৷ একবার ফ্লিট ইঞ্জিনে আপনার অনুরোধগুলি সঠিক অনুমোদনের টোকেনগুলির সাথে সেট আপ হয়ে গেলে, আপনি মানচিত্রে একটি গাড়ি ট্র্যাক করতে প্রস্তুত থাকবেন৷
অনুমোদন সেট আপ করুন
স্বল্প-বিশ্বাসের পরিবেশ থেকে API পদ্ধতির কলগুলির জন্য, ফ্লিট ইঞ্জিনের জন্য একটি উপযুক্ত পরিষেবা অ্যাকাউন্ট দ্বারা স্বাক্ষরিত JSON ওয়েব টোকেন (JWTs) ব্যবহার করা প্রয়োজন৷ কম-বিশ্বাসের পরিবেশে স্মার্টফোন এবং ব্রাউজার অন্তর্ভুক্ত। একটি JWT আপনার সার্ভারে উদ্ভূত হয়, যা একটি সম্পূর্ণ বিশ্বস্ত পরিবেশ । JWT স্বাক্ষরিত, এনক্রিপ্ট করা হয় এবং পরবর্তী সার্ভার ইন্টারঅ্যাকশনের জন্য ক্লায়েন্টের কাছে পাঠানো হয় যতক্ষণ না এটি মেয়াদ শেষ হয় বা আর বৈধ না হয়।
আপনার ব্যাকএন্ড মানক অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র প্রক্রিয়া ব্যবহার করে ফ্লিট ইঞ্জিনের বিরুদ্ধে প্রমাণীকরণ এবং অনুমোদন করা উচিত। একটি উপযুক্ত পরিষেবা অ্যাকাউন্ট দ্বারা স্বাক্ষরিত JWTs ব্যবহার করা নিশ্চিত করুন। পরিষেবা-অ্যাকাউন্ট ভূমিকাগুলির একটি তালিকার জন্য, ফ্লিট ইঞ্জিন বেসিকগুলিতে ফ্লিট ইঞ্জিন পরিষেবা অ্যাকাউন্টের ভূমিকা দেখুন৷
বিপরীতে, আপনার ব্যাকএন্ডকে স্ট্যান্ডার্ড অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র প্রক্রিয়া ব্যবহার করে ফ্লিট ইঞ্জিনের বিরুদ্ধে প্রমাণীকরণ এবং অনুমোদন করা উচিত।
অনুমোদন কিভাবে কাজ করে?
ফ্লিট ইঞ্জিন ডেটা সহ অনুমোদন সার্ভার-সাইড এবং ক্লায়েন্ট-সাইড বাস্তবায়ন উভয়ই জড়িত।
সার্ভার-সাইড অনুমোদন
আপনি আপনার ফ্লিট ট্র্যাকিং অ্যাপ্লিকেশনে প্রমাণীকরণ এবং অনুমোদন সেট আপ করার আগে, আপনার ব্যাকএন্ড সার্ভার অবশ্যই ফ্লিট ইঞ্জিনে অ্যাক্সেসের জন্য আপনার ফ্লিট ট্র্যাকিং অ্যাপ্লিকেশনে JSON ওয়েব টোকেন ইস্যু করতে সক্ষম হবে। আপনার ফ্লিট ট্র্যাকিং অ্যাপ্লিকেশন এই JWTগুলিকে তার অনুরোধের সাথে পাঠায় যাতে ফ্লিট ইঞ্জিন অনুরোধগুলিকে প্রমাণীকৃত এবং অনুরোধের ডেটা অ্যাক্সেস করার জন্য অনুমোদিত হিসাবে স্বীকৃতি দেয়। সার্ভার-সাইড JWT বাস্তবায়নের নির্দেশাবলীর জন্য, Fleet Engine Essentials-এর অধীনে JSON ওয়েব টোকেন ইস্যু করুন দেখুন।
ফ্লিট ট্র্যাকিং প্রয়োগ করার সময় আপনার সার্ভার থেকে টোকেন তৈরি করতে, নিম্নলিখিতগুলি দেখুন:- JSON ওয়েব টোকেন ইস্যু করার জন্য সাধারণ নির্দেশিকা , যার মধ্যে অন-ডিমান্ড ট্রিপ এবং নির্ধারিত কাজ উভয়ের জন্য বিভাগ রয়েছে
- অন-ডিমান্ড ট্রিপ: ব্যাকএন্ড সার্ভার অপারেশনের জন্য উদাহরণ টোকেন
- নির্ধারিত কাজ: বহরের সমস্ত কাজ এবং যানবাহন ট্র্যাক করার উদাহরণ টোকেন
ক্লায়েন্ট-সাইড অনুমোদন
আপনি যখন জাভাস্ক্রিপ্ট ফ্লিট ট্র্যাকিং লাইব্রেরি ব্যবহার করেন, তখন এটি একটি অনুমোদন টোকেন ফেচার ব্যবহার করে সার্ভার থেকে একটি টোকেন অনুরোধ করে। নিম্নলিখিতগুলির মধ্যে যে কোনওটি সত্য হলে এটি এটি করে:
কোনো বৈধ টোকেন বিদ্যমান নেই, যেমন যখন SDK একটি নতুন পৃষ্ঠা লোডে ফেচারকে কল করেনি, অথবা যখন ফেচার টোকেন নিয়ে ফিরে আসেনি৷
টোকেনের মেয়াদ শেষ হয়ে গেছে।
টোকেন মেয়াদ শেষ হওয়ার এক মিনিটের মধ্যে।
অন্যথায়, জাভাস্ক্রিপ্ট ফ্লিট ট্র্যাকিং লাইব্রেরি পূর্বে জারি করা, বৈধ টোকেন ব্যবহার করে এবং ফেচারকে কল করে না।
একটি অনুমোদন টোকেন ফেচার তৈরি করুন৷
এই নির্দেশিকাগুলি ব্যবহার করে আপনার অনুমোদন টোকেন ফেচার তৈরি করুন:
ফেচারকে অবশ্যই দুটি ক্ষেত্র সহ একটি ডেটা কাঠামো ফেরত দিতে হবে , একটি
Promise
মোড়ানো নিম্নরূপ:একটি স্ট্রিং
token
।একটি সংখ্যার
expiresInSeconds
। একটি টোকেন আনার পর এই পরিমাণ সময়ের মধ্যে মেয়াদ শেষ হয়ে যায়। প্রমাণীকরণ টোকেন আনয়নকারীকে অবশ্যই মেয়াদ শেষ হওয়ার সময়টি সেকেন্ডের মধ্যে পাস করতে হবে, যেমনটি উদাহরণে দেখানো হয়েছে লাইব্রেরিতে আনার সময় থেকে।
একটি টোকেন পুনরুদ্ধার করার জন্য ফেচারের আপনার সার্ভারে একটি URL কল করা উচিত । এই URL--
SERVER_TOKEN_URL
--আপনার ব্যাকএন্ড বাস্তবায়নের উপর নির্ভর করে। নিম্নলিখিত উদাহরণ URLটি GitHub এ নমুনা অ্যাপ্লিকেশন ব্যাকএন্ডের জন্য:-
https://SERVER_URL/token/fleet_reader
-
উদাহরণ - একটি অনুমোদন টোকেন ফেচার তৈরি করুন
নিম্নলিখিত উদাহরণগুলি দেখায় কিভাবে একটি অনুমোদন টোকেন ফেচার তৈরি করতে হয়:
জাভাস্ক্রিপ্ট
async function authTokenFetcher(options) {
// options is a record containing two keys called
// serviceType and context. The developer should
// generate the correct SERVER_TOKEN_URL and request
// based on the values of these fields.
const response = await fetch(SERVER_TOKEN_URL);
if (!response.ok) {
throw new Error(response.statusText);
}
const data = await response.json();
return {
token: data.Token,
expiresInSeconds: data.ExpiresInSeconds
};
}
টাইপস্ক্রিপ্ট
function authTokenFetcher(options: {
serviceType: google.maps.journeySharing.FleetEngineServiceType,
context: google.maps.journeySharing.AuthTokenContext,
}): Promise<google.maps.journeySharing.AuthToken> {
// The developer should generate the correct
// SERVER_TOKEN_URL based on options.
const response = await fetch(SERVER_TOKEN_URL);
if (!response.ok) {
throw new Error(response.statusText);
}
const data = await response.json();
return {
token: data.token,
expiresInSeconds: data.ExpiresInSeconds,
};
}