কেস স্টাডিজ
পাসকি এবং ক্রেডেনশিয়াল ম্যানেজার ইন্টিগ্রেশনের মাধ্যমে জোহো ৬ গুণ দ্রুত লগইন অর্জন করেছে।
১০ মিনিটের পাঠ

একজন অ্যান্ড্রয়েড ডেভেলপার হিসেবে, আপনি ক্রমাগত নিরাপত্তা বাড়ানো, ব্যবহারকারীর অভিজ্ঞতা উন্নত করা এবং ডেভেলপমেন্ট প্রক্রিয়াকে আরও সহজ করার উপায় খোঁজেন। Zoho, নিরাপত্তা ও নির্বিঘ্ন অভিজ্ঞতার উপর দৃষ্টি নিবদ্ধকারী একটি ব্যাপক ক্লাউড-ভিত্তিক সফটওয়্যার স্যুট, তাদের OneAuth অ্যান্ড্রয়েড অ্যাপে পাসকি গ্রহণ করে উল্লেখযোগ্য উন্নতি সাধন করেছে।
২০২৪ সালে পাসকি চালু করার পর থেকে, জোহো পূর্ববর্তী পদ্ধতির তুলনায় ৬ গুণ পর্যন্ত দ্রুত লগইন গতি অর্জন করেছে এবং পাসকি ব্যবহারের ক্ষেত্রে মাসিক (MoM) ৩১% প্রবৃদ্ধি লাভ করেছে ।
এই কেস স্টাডিতে প্রমাণীকরণের অসুবিধাগুলো নিরসনে জোহোর পাসকি এবং অ্যান্ড্রয়েডের ক্রেডেনশিয়াল ম্যানেজার এপিআই ব্যবহারের বিষয়টি পরীক্ষা করা হয়েছে। এতে প্রযুক্তিগত বাস্তবায়ন প্রক্রিয়াটি বিস্তারিতভাবে বর্ণনা করা হয়েছে এবং এর কার্যকর ফলাফলগুলো তুলে ধরা হয়েছে।
প্রমাণীকরণের চ্যালেঞ্জগুলি কাটিয়ে ওঠা
ব্যবহারকারীর অ্যাকাউন্ট সুরক্ষিত রাখতে জোহো বিভিন্ন প্রমাণীকরণ পদ্ধতির সমন্বয় ব্যবহার করে। এর মধ্যে ছিল জোহো ওয়ানঅথ (Zoho OneAuth), তাদের নিজস্ব মাল্টি-ফ্যাক্টর অথেন্টিকেশন (MFA) সমাধান, যা পুশ নোটিফিকেশন, কিউআর কোড এবং টাইম-বেসড ওয়ান-টাইম পাসওয়ার্ড (TOTP) ব্যবহার করে পাসওয়ার্ড-ভিত্তিক ও পাসওয়ার্ড-বিহীন উভয় প্রকার প্রমাণীকরণ সমর্থন করত। জোহো ফেডারেটেড লগইনও সমর্থন করত, যা সিকিউরিটি অ্যাসারশন মার্কআপ ল্যাঙ্গুয়েজ (SAML) এবং অন্যান্য থার্ড-পার্টি আইডেন্টিটি প্রোভাইডারদের মাধ্যমে প্রমাণীকরণের সুযোগ দিত।
চ্যালেঞ্জ
অন্যান্য অনেক প্রতিষ্ঠানের মতো, জোহোও পরিচালনগত বোঝা কমানোর পাশাপাশি প্রমাণীকরণ নিরাপত্তা ও ব্যবহারকারীর অভিজ্ঞতা উন্নত করার লক্ষ্য নিয়েছিল। পাসকি ব্যবহারের পেছনের প্রধান প্রতিবন্ধকতাগুলো হলো:
- নিরাপত্তা ঝুঁকি: প্রচলিত পাসওয়ার্ড-ভিত্তিক পদ্ধতি ব্যবহারকারীদের ফিশিং আক্রমণ এবং পাসওয়ার্ড লঙ্ঘনের ঝুঁকিতে ফেলে দিত।
- ব্যবহারকারীর অসুবিধা: পাসওয়ার্ড ভুলে যাওয়ার ক্লান্তির ফলে পাসওয়ার্ড ভুলে যাওয়া, হতাশা এবং কষ্টসাধ্য পুনরুদ্ধার প্রক্রিয়ার উপর নির্ভরতা বৃদ্ধি পায়।
- পরিচালনগত অদক্ষতা: পাসওয়ার্ড রিসেট এবং এমএফএ সংক্রান্ত সমস্যাগুলো সামলাতে গিয়ে উল্লেখযোগ্য পরিমাণে অতিরিক্ত সহায়তা প্রয়োজন হতো।
- পরিবর্ধনযোগ্যতা সংক্রান্ত উদ্বেগ: ক্রমবর্ধমান ব্যবহারকারীর সংখ্যা আরও সুরক্ষিত এবং কার্যকর একটি প্রমাণীকরণ সমাধানের চাহিদা তৈরি করেছিল।
পাসকি ব্যবহারের এই পরিবর্তনের কারণ কী?
Zoho-এর অ্যাপগুলিতে প্রমাণীকরণের চ্যালেঞ্জ মোকাবেলার জন্য পাসকি (Passkeys) প্রয়োগ করা হয়েছে, যা একটি পাসওয়ার্ড-বিহীন পদ্ধতি প্রদান করে এবং নিরাপত্তা ও ব্যবহারকারীর অভিজ্ঞতাকে উল্লেখযোগ্যভাবে উন্নত করে। এই সমাধানটি ফিশিং-প্রতিরোধী প্রমাণীকরণ, বিভিন্ন ডিভাইসে সহজে অ্যাক্সেসের জন্য ক্লাউড-সিঙ্ক্রোনাইজড ক্রেডেনশিয়াল এবং নিরাপদ লগইনের জন্য বায়োমেট্রিক্স (যেমন আঙুলের ছাপ বা মুখমণ্ডল শনাক্তকরণ), পিন বা প্যাটার্ন ব্যবহার করে, যার ফলে প্রচলিত পাসওয়ার্ডের সাথে যুক্ত দুর্বলতা এবং অসুবিধাগুলি হ্রাস পায়।
ক্রেডেনশিয়াল ম্যানেজারের সাথে পাসকি ব্যবহার শুরু করার মাধ্যমে, জোহো লগইন করার সময় ৬ গুণ পর্যন্ত কমিয়েছে, পাসওয়ার্ড-সম্পর্কিত সহায়তার খরচ ব্যাপকভাবে হ্রাস করেছে এবং ব্যবহারকারীদের মধ্যে এর ব্যাপক গ্রহণযোগ্যতা দেখা গেছে – ৪ মাসে পাসকি ব্যবহার করে সাইন-ইন দ্বিগুণ হয়েছে এবং মাসিক প্রবৃদ্ধি হয়েছে ৩১% । জোহো ব্যবহারকারীরা এখন আরও দ্রুত ও সহজে লগইন এবং ফিশিং-প্রতিরোধী নিরাপত্তা উপভোগ করছেন।

অ্যান্ড্রয়েডে ক্রেডেনশিয়াল ম্যানেজার দিয়ে বাস্তবায়ন
তাহলে, Zoho কীভাবে এই ফলাফল অর্জন করল? তারা অ্যান্ড্রয়েডের ক্রেডেনশিয়াল ম্যানেজার এপিআই (Credential Manager API) ব্যবহার করেছে, যা অ্যান্ড্রয়েডে অথেনটিকেশন বাস্তবায়নের জন্য প্রস্তাবিত জেটপ্যাক (Jetpack) লাইব্রেরি।
ক্রেডেনশিয়াল ম্যানেজার একটি সমন্বিত এপিআই প্রদান করে যা বিভিন্ন প্রমাণীকরণ পদ্ধতির পরিচালনাকে সহজ করে তোলে। পাসওয়ার্ড, পাসকি এবং ফেডারেটেড লগইনের (যেমন সাইন ইন উইথ গুগল) জন্য আলাদা আলাদা এপিআই ব্যবহার করার পরিবর্তে, আপনি একটিমাত্র ইন্টারফেস ব্যবহার করেন।
Zoho-তে পাসকি প্রয়োগ করার জন্য ক্লায়েন্ট-সাইড এবং সার্ভার-সাইড উভয় দিকেই সমন্বয়ের প্রয়োজন ছিল। এখানে পাসকি তৈরি, সাইন-ইন এবং সার্ভার-সাইড বাস্তবায়ন প্রক্রিয়ার একটি বিস্তারিত বিবরণ দেওয়া হলো।
পাসকি তৈরি

একটি পাসকি তৈরি করার জন্য, অ্যাপটি প্রথমে জোহো-র সার্ভার থেকে কনফিগারেশনের বিবরণ সংগ্রহ করে। এই প্রক্রিয়ার মধ্যে একটি অনন্য যাচাইকরণ অন্তর্ভুক্ত থাকে, যেমন আঙুলের ছাপ বা মুখমণ্ডল শনাক্তকরণ। এই যাচাইকরণের ডেটা (যা একটি requestJson স্ট্রিং হিসাবে ফরম্যাট করা থাকে) অ্যাপটি একটি CreatePublicKeyCredentialRequest তৈরি করতে ব্যবহার করে। এরপর অ্যাপটি credentialManager.createCredential মেথডটিকে কল করে, যা ব্যবহারকারীকে তাদের ডিভাইসের স্ক্রিন লক (বায়োমেট্রিক্স, আঙুলের ছাপ, পিন, ইত্যাদি) ব্যবহার করে প্রমাণীকরণের জন্য অনুরোধ করে।
ব্যবহারকারীর সফল নিশ্চিতকরণের পর, অ্যাপটি নতুন পাসকি ক্রেডেনশিয়াল ডেটা গ্রহণ করে, যাচাইকরণের জন্য তা জোহোর সার্ভারে ফেরত পাঠায় এবং সার্ভারটি তখন ব্যবহারকারীর অ্যাকাউন্টের সাথে সংযুক্ত পাসকির তথ্য সংরক্ষণ করে। এই প্রক্রিয়া চলাকালীন কোনো ব্যর্থতা বা ব্যবহারকারীর বাতিলকরণ অ্যাপটি দ্বারা শনাক্ত ও পরিচালিত হয়।
সাইন-ইন
Zoho অ্যান্ড্রয়েড অ্যাপটি Zoho-এর ব্যাকএন্ড সার্ভার থেকে একটি অনন্য challenge সহ সাইন-ইন বিকল্পগুলির জন্য অনুরোধ করে পাসকি সাইন-ইন প্রক্রিয়া শুরু করে। এরপর অ্যাপটি এই ডেটা ব্যবহার করে একটি GetCredentialRequest তৈরি করে, যা নির্দেশ করে যে এটি একটি পাসকি দিয়ে প্রমাণীকরণ করবে। তারপর এটি এই অনুরোধটি সহ Android CredentialManager.getCredential() API-কে কল করে। এই কাজটি একটি প্রমিত অ্যান্ড্রয়েড সিস্টেম ইন্টারফেস চালু করে, যা ব্যবহারকারীকে তাদের Zoho অ্যাকাউন্ট বেছে নিতে (যদি একাধিক পাসকি থাকে) এবং তাদের ডিভাইসের কনফিগার করা স্ক্রিন লক (ফিঙ্গারপ্রিন্ট, ফেস স্ক্যান বা পিন) ব্যবহার করে প্রমাণীকরণ করতে বলে। সফল প্রমাণীকরণের পর, Credential Manager একটি স্বাক্ষরিত অ্যাসারশন (লগইনের প্রমাণ) Zoho অ্যাপে ফেরত পাঠায়। অ্যাপটি এই অ্যাসারশনটি Zoho-এর সার্ভারে ফরোয়ার্ড করে, যা ব্যবহারকারীর সংরক্ষিত পাবলিক কী-এর সাথে স্বাক্ষরটি যাচাই করে এবং চ্যালেঞ্জটি বৈধতা দেয়, যার মাধ্যমে নিরাপদ সাইন-ইন প্রক্রিয়াটি সম্পন্ন হয়।
সার্ভার-সাইড বাস্তবায়ন
জোহোর পাসকি সমর্থন করার এই পরিবর্তনে তাদের ব্যাকএন্ড সিস্টেমগুলো আগে থেকেই FIDO WebAuthn-সম্মত হওয়ায় সুবিধা হয়েছে, যা সার্ভার-সাইড বাস্তবায়ন প্রক্রিয়াকে সহজ করে দিয়েছে। তবে, পাসকি কার্যকারিতা সম্পূর্ণরূপে সংহত করার জন্য নির্দিষ্ট কিছু পরিবর্তন তখনও প্রয়োজনীয় ছিল।
সবচেয়ে বড় চ্যালেঞ্জ ছিল ক্রেডেনশিয়াল স্টোরেজ সিস্টেমকে অভিযোজিত করা। Zoho-র বিদ্যমান অথেনটিকেশন পদ্ধতি, যা মূলত মাল্টি-ফ্যাক্টর অথেনটিকেশনের জন্য পাসওয়ার্ড এবং FIDO সিকিউরিটি কী ব্যবহার করত, সেগুলোর জন্য ক্রিপ্টোগ্রাফিক পাবলিক কী-ভিত্তিক পাসকি-র চেয়ে ভিন্ন স্টোরেজ পদ্ধতির প্রয়োজন ছিল। এর সমাধান করতে, Zoho একটি নতুন ডাটাবেস স্কিমা প্রয়োগ করেছে যা WebAuthn প্রোটোকল অনুযায়ী পাসকি পাবলিক কী এবং সম্পর্কিত ডেটা নিরাপদে সংরক্ষণ করার জন্য বিশেষভাবে ডিজাইন করা হয়েছে। এই নতুন সিস্টেমটি ব্যবহারকারী এবং ডিভাইসের তথ্যের উপর ভিত্তি করে ক্রেডেনশিয়াল যাচাই ও পুনরুদ্ধার করার জন্য একটি লুকআপ মেকানিজমের পাশাপাশি তৈরি করা হয়েছিল, যা পুরোনো অথেনটিকেশন পদ্ধতিগুলোর সাথে ব্যাকওয়ার্ড কম্প্যাটিবিলিটি নিশ্চিত করে।
সার্ভার-সাইডের আরেকটি পরিবর্তনের মধ্যে ছিল অ্যান্ড্রয়েড ডিভাইস থেকে আসা অনুরোধগুলি পরিচালনা করার ক্ষমতা বাস্তবায়ন করা। অ্যান্ড্রয়েড অ্যাপ থেকে আসা পাসকি অনুরোধগুলি একটি অনন্য অরিজিন ফরম্যাট ( android:apk-key-hash:example ) ব্যবহার করে, যা URI-ভিত্তিক ফরম্যাট ( https://example.com/app ) ব্যবহারকারী সাধারণ ওয়েব অরিজিন থেকে আলাদা। এই ফরম্যাটটি সঠিকভাবে পার্স করতে, অ্যাপের সাইনিং সার্টিফিকেটের SHA-256 ফিঙ্গারপ্রিন্ট হ্যাশ বের করতে এবং একটি পূর্ব-নিবন্ধিত তালিকার সাথে মিলিয়ে তা যাচাই করার জন্য সার্ভার লজিক আপডেট করার প্রয়োজন ছিল। এই যাচাইকরণ ধাপটি নিশ্চিত করে যে প্রমাণীকরণের অনুরোধগুলি সত্যিই Zoho-এর অ্যান্ড্রয়েড অ্যাপ থেকে আসছে এবং ফিশিং আক্রমণ থেকে সুরক্ষা প্রদান করে।
এই কোড স্নিপেটটি দেখায় কিভাবে সার্ভার অ্যান্ড্রয়েড-নির্দিষ্ট অরিজিন ফরম্যাট পরীক্ষা করে এবং সার্টিফিকেট হ্যাশ যাচাই করে:
val origin: String = clientData.getString("origin")
if (origin.startsWith("android:apk-key-hash:")) {
val originSplit: List<String> = origin.split(":")
if (originSplit.size > 3) {
val androidOriginHashDecoded: ByteArray = Base64.getDecoder().decode(originSplit[3])
if (!androidOriginHashDecoded.contentEquals(oneAuthSha256FingerPrint)) {
throw IAMException(IAMErrorCode.WEBAUTH003)
}
} else {
// Optional: Handle the case where the origin string is malformed }
}
ত্রুটি পরিচালনা
Zoho ব্যবহারকারী এবং ডেভেলপার উভয়ের ক্ষেত্রেই ত্রুটি ব্যবস্থাপনার জন্য শক্তিশালী ত্রুটি পরিচালনা ব্যবস্থা প্রয়োগ করেছে। CreateCredentialCancellationException নামক একটি সাধারণ ত্রুটি তখন দেখা দিত, যখন ব্যবহারকারীরা ম্যানুয়ালি তাদের পাসকি সেটআপ বাতিল করতেন। সম্ভাব্য ইউএক্স (UX) উন্নতির মূল্যায়ন করার জন্য Zoho এই ত্রুটির পুনরাবৃত্তি পর্যবেক্ষণ করেছে। অ্যান্ড্রয়েডের ইউএক্স সুপারিশের উপর ভিত্তি করে, Zoho তাদের ব্যবহারকারীদের পাসকি সম্পর্কে আরও ভালোভাবে জানাতে, ব্যবহারকারীরা যেন পাসকির প্রাপ্যতা সম্পর্কে সচেতন থাকেন তা নিশ্চিত করতে এবং পরবর্তী সাইন-ইন প্রচেষ্টাগুলিতে পাসকি ব্যবহারে উৎসাহিত করতে পদক্ষেপ নিয়েছে।
এই কোড উদাহরণটি দেখায় যে, Zoho তাদের সবচেয়ে সাধারণ পাসকি তৈরির ত্রুটিগুলো কীভাবে সমাধান করেছে:
private fun handleFailure(e: CreateCredentialException) {
val msg = when (e) {
is CreateCredentialCancellationException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_CANCELLED", GROUP_NAME)
Analytics.addNonFatalException(e)
"The operation was canceled by the user."
}
is CreateCredentialInterruptedException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_INTERRUPTED", GROUP_NAME)
Analytics.addNonFatalException(e)
"Passkey setup was interrupted. Please try again."
}
is CreateCredentialProviderConfigurationException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_PROVIDER_MISCONFIGURED", GROUP_NAME)
Analytics.addNonFatalException(e)
"Credential provider misconfigured. Contact support."
}
is CreateCredentialUnknownException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_UNKNOWN_ERROR", GROUP_NAME)
Analytics.addNonFatalException(e)
"An unknown error occurred during Passkey setup."
}
is CreatePublicKeyCredentialDomException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_WEB_AUTHN_ERROR", GROUP_NAME)
Analytics.addNonFatalException(e)
"Passkey creation failed: ${e.domError}"
}
else -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_FAILED", GROUP_NAME)
Analytics.addNonFatalException(e)
"An unexpected error occurred. Please try again."
}
}
}
ইন্ট্রানেট পরিবেশে পাসকি পরীক্ষা করা
একটি বদ্ধ ইন্ট্রানেট পরিবেশে পাসকি পরীক্ষা করার ক্ষেত্রে জোহোকে প্রাথমিকভাবে একটি চ্যালেঞ্জের সম্মুখীন হতে হয়েছিল। পাসকির জন্য গুগল পাসওয়ার্ড ম্যানেজারের যাচাইকরণ প্রক্রিয়ায় রিলায়িং পার্টি (RP) ডোমেইনকে বৈধতা দেওয়ার জন্য পাবলিক ডোমেইন অ্যাক্সেসের প্রয়োজন হয়। কিন্তু, জোহোর অভ্যন্তরীণ পরীক্ষামূলক পরিবেশে এই পাবলিক ইন্টারনেট অ্যাক্সেসের অভাব ছিল, যার ফলে যাচাইকরণ প্রক্রিয়াটি ব্যর্থ হয় এবং সফল পাসকি প্রমাণীকরণ পরীক্ষা ব্যাহত হয়। এই সমস্যা সমাধানের জন্য, জোহো একটি সর্বজনীনভাবে প্রবেশযোগ্য পরীক্ষামূলক পরিবেশ তৈরি করে, যেখানে একটি অ্যাসেট লিঙ্ক ফাইল এবং ডোমেইন যাচাইকরণসহ একটি অস্থায়ী সার্ভার হোস্ট করার ব্যবস্থা ছিল।
Zoho-র পাবলিক টেস্ট এনভায়রনমেন্টে ব্যবহৃত assetlinks.json ফাইলের এই উদাহরণটি দেখায়, কীভাবে পাসকি ভ্যালিডেশনের জন্য রিলায়িং পার্টি ডোমেইনকে নির্দিষ্ট অ্যান্ড্রয়েড অ্যাপের সাথে যুক্ত করতে হয়।
[
{
"relation": [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target": {
"namespace": "android_app",
"package_name": "com.zoho.accounts.oneauth",
"sha256_cert_fingerprints": [
"SHA_HEX_VALUE"
]
}
}
]
বিদ্যমান FIDO সার্ভারের সাথে একীভূত করুন
অ্যান্ড্রয়েডের পাসকি সিস্টেম আধুনিক FIDO2 WebAuthn স্ট্যান্ডার্ড ব্যবহার করে। এই স্ট্যান্ডার্ড অনুযায়ী অনুরোধগুলো একটি নির্দিষ্ট JSON ফরম্যাটে হতে হয়, যা নেটিভ অ্যাপ্লিকেশন এবং ওয়েব প্ল্যাটফর্মের মধ্যে সামঞ্জস্য বজায় রাখতে সাহায্য করে। অ্যান্ড্রয়েড পাসকি সাপোর্ট চালু করার জন্য, Zoho প্রয়োজনীয় FIDO2 JSON কাঠামো মেনে অনুরোধগুলো সঠিকভাবে তৈরি ও প্রসেস করতে কিছু ছোটখাটো সামঞ্জস্যতা ও কাঠামোগত পরিবর্তন করেছে।
এই সার্ভার আপডেটে বেশ কিছু নির্দিষ্ট প্রযুক্তিগত পরিবর্তন আনা হয়েছে:
১. এনকোডিং রূপান্তর: সার্ভার প্রাসঙ্গিক ডেটা সংরক্ষণ করার আগে Base64 URL এনকোডিংকে (যা সাধারণত WebAuthn-এ ক্রেডেনশিয়াল আইডির মতো ফিল্ডের জন্য ব্যবহৃত হয়) স্ট্যান্ডার্ড Base64 এনকোডিং-এ রূপান্তর করে। নিচের কোড স্নিপেটটি দেখায় কিভাবে একটি rawId স্ট্যান্ডার্ড Base64-এ এনকোড করা হতে পারে:
// Convert rawId bytes to a standard Base64 encoded string for storage val base64RawId: String = Base64.getEncoder().encodeToString(rawId.toByteArray())
২. ট্রান্সপোর্ট তালিকার ফরম্যাট: ডেটা প্রক্রিয়াকরণে সামঞ্জস্যতা নিশ্চিত করার জন্য, সার্ভার লজিক ট্রান্সপোর্ট মেকানিজমের (যেমন USB, NFC, এবং Bluetooth, যা অথেন্টিকেটরের যোগাযোগের পদ্ধতি নির্দিষ্ট করে) তালিকাগুলোকে JSON অ্যারে হিসেবে পরিচালনা করে।
৩. ক্লায়েন্ট ডেটার সামঞ্জস্য বিধান: Zoho টিম সার্ভার যেভাবে `clientDataJson` ফিল্ডটি এনকোড এবং ডিকোড করে, তা সামঞ্জস্য করেছে। এটি নিশ্চিত করে যে ডেটা কাঠামোটি Zoho-র বিদ্যমান অভ্যন্তরীণ API-গুলোর প্রত্যাশার সাথে নিখুঁতভাবে সামঞ্জস্যপূর্ণ। নিচের উদাহরণটি সার্ভার দ্বারা ক্লায়েন্ট ডেটা প্রসেস করার আগে তার উপর প্রয়োগ করা রূপান্তর লজিকের একটি অংশ তুলে ধরেছে:
private fun convertForServer(type: String): String {
val clientDataBytes = BaseEncoding.base64().decode(type)
val clientDataJson = JSONObject(String(clientDataBytes, StandardCharsets.UTF_8))
val clientJson = JSONObject()
val challengeFromJson = clientDataJson.getString("challenge")
// 'challenge' is a technical identifier/token, not localizable text.
clientJson.put("challenge", BaseEncoding.base64Url()
.encode(challengeFromJson.toByteArray(StandardCharsets.UTF_8)))
clientJson.put("origin", clientDataJson.getString("origin"))
clientJson.put("type", clientDataJson.getString("type"))
clientJson.put("androidPackageName", clientDataJson.getString("androidPackageName"))
return BaseEncoding.base64().encode(clientJson.toString().toByteArray())
}
ব্যবহারকারীর নির্দেশিকা এবং প্রমাণীকরণ পছন্দসমূহ
জোহোর পাসকি কৌশলের একটি কেন্দ্রীয় অংশ ছিল ব্যবহারকারীদের গ্রহণে উৎসাহিত করা এবং একই সাথে বিভিন্ন প্রাতিষ্ঠানিক চাহিদার সাথে সামঞ্জস্য বিধানের জন্য নমনীয়তা প্রদান করা। সতর্ক ইউআই ডিজাইন এবং পলিসি নিয়ন্ত্রণের মাধ্যমে এটি অর্জন করা হয়েছিল।
জোহো উপলব্ধি করেছে যে বিভিন্ন প্রতিষ্ঠানের নিরাপত্তা চাহিদা ভিন্ন ভিন্ন হয়ে থাকে। এই বিষয়টি মেটাতে, জোহো নিম্নলিখিত ব্যবস্থা গ্রহণ করেছে:
- অ্যাডমিন কর্তৃক প্রয়োগ: Zoho Directory অ্যাডমিন প্যানেলের মাধ্যমে, অ্যাডমিনিস্ট্রেটররা তাদের সমগ্র প্রতিষ্ঠানের জন্য পাসকি-কে বাধ্যতামূলক এবং ডিফল্ট অথেনটিকেশন পদ্ধতি হিসেবে নির্ধারণ করতে পারেন। যখন এই পলিসিটি সক্রিয় করা হয়, তখন কর্মীদের পরবর্তী লগইনের সময় একটি পাসকি সেট আপ করতে এবং এরপর থেকে সেটি ব্যবহার করতে হয়।
- ব্যবহারকারীর পছন্দ: যদি কোনো সংস্থা কোনো নির্দিষ্ট নীতি প্রয়োগ না করে, তবে স্বতন্ত্র ব্যবহারকারীরা নিয়ন্ত্রণ বজায় রাখেন। তারা লগইন করার সময় তাদের প্রমাণীকরণ সেটিংসের মাধ্যমে পাসকি বা অন্যান্য কনফিগার করা বিকল্পগুলো থেকে নিজেদের পছন্দের প্রমাণীকরণ পদ্ধতি বেছে নিতে পারেন।
ব্যবহারকারীদের জন্য পাসকি গ্রহণকে আকর্ষণীয় ও সহজবোধ্য করতে, Zoho নিম্নলিখিত ব্যবস্থা গ্রহণ করেছে:
- সহজ সেটআপ: Zoho OneAuth মোবাইল অ্যাপে ( Android এবং iOS উভয়ের জন্য উপলব্ধ) সরাসরি পাসকি সেটআপ করার সুবিধা রয়েছে। ব্যবহারকারীরা যেকোনো সময় অ্যাপের মধ্যে সুবিধামত তাদের পাসকি কনফিগার করতে পারেন, যা এই প্রক্রিয়াটিকে মসৃণ করে তোলে।
- সমন্বিত প্রবেশাধিকার: ব্যবহারকারীদের জন্য গুরুত্বপূর্ণ সকল পর্যায়ে পাসকি সাপোর্ট চালু করা হয়েছে, যা নিশ্চিত করে যে ব্যবহারকারীরা নিম্নলিখিত উপায়ে পাসকি ব্যবহার করে নিবন্ধন এবং প্রমাণীকরণ করতে পারবেন:
- Zoho OneAuth মোবাইল অ্যাপ (অ্যান্ড্রয়েড ও আইওএস);
- তাদের জোহো ওয়েব অ্যাকাউন্ট পেজ।
এই পদ্ধতিটি নিশ্চিত করেছে যে, পাসকি সেট আপ এবং ব্যবহার করার প্রক্রিয়াটি সহজলভ্য এবং ব্যবহারকারীরা আগে থেকেই যে প্ল্যাটফর্মগুলো ব্যবহার করেন সেগুলোর সাথে সমন্বিত থাকে, তা অ্যাডমিন দ্বারা বাধ্যতামূলক করা হোক বা ব্যবহারকারী নিজেই বেছে নিক। পাসকি অথেনটিকেশনের জন্য কীভাবে সাবলীল ইউজার ফ্লো তৈরি করা যায় সে সম্পর্কে আরও জানতে, আপনি আমাদের বিস্তারিত পাসকি ইউজার এক্সপেরিয়েন্স গাইডটি দেখতে পারেন।
ডেভেলপারের কাজের গতি এবং ইন্টিগ্রেশন দক্ষতার উপর প্রভাব
একটি সমন্বিত এপিআই (API) হিসেবে ক্রেডেনশিয়াল ম্যানেজার, পুরোনো সাইন-ইন পদ্ধতির তুলনায় ডেভেলপারদের কর্মদক্ষতা বাড়াতেও সাহায্য করেছে। এটি একাধিক প্রমাণীকরণ পদ্ধতি এবং এপিআই আলাদাভাবে পরিচালনার জটিলতা কমিয়ে এনেছে, যার ফলে ইন্টিগ্রেশনের সময় মাস থেকে সপ্তাহে নেমে এসেছে এবং বাস্তবায়নে ভুলের সংখ্যাও কমেছে। এই সবকিছু সম্মিলিতভাবে সাইন-ইন প্রক্রিয়াকে সুবিন্যস্ত করেছে এবং সার্বিক নির্ভরযোগ্যতা বাড়িয়েছে।
ক্রেডেনশিয়াল ম্যানেজারের সাথে পাসকি প্রয়োগ করার মাধ্যমে, জোহো সর্বক্ষেত্রে উল্লেখযোগ্য ও পরিমাপযোগ্য উন্নতি সাধন করেছে:
- গতিতে নাটকীয় উন্নতি
- প্রচলিত পাসওয়ার্ড পদ্ধতির তুলনায় ২ গুণ দ্রুত লগইন।
- ইমেল বা এসএমএস ওটিপি অথেন্টিকেশনের মাধ্যমে ইউজারনেম বা মোবাইল নম্বরের তুলনায় ৪ গুণ দ্রুত লগইন।
- ইউজারনেম, পাসওয়ার্ড এবং এসএমএস বা অথেন্টিকেটর ওটিপি অথেন্টিকেশনের তুলনায় ৬ গুণ দ্রুত লগইন।
- সহায়তা খরচ হ্রাস
- পাসওয়ার্ড-সম্পর্কিত সহায়তার অনুরোধ কমেছে , বিশেষ করে ভুলে যাওয়া পাসওয়ার্ডের ক্ষেত্রে।
- এসএমএস-ভিত্তিক টু-এফএ-এর সাথে যুক্ত খরচ কম , কারণ বিদ্যমান ব্যবহারকারীরা পাসকি ব্যবহার করে সরাসরি অনবোর্ড হতে পারেন।
- ব্যবহারকারীদের ব্যাপক গ্রহণযোগ্যতা এবং উন্নত নিরাপত্তা:
- মাত্র ৪ মাসে পাসকি-তে সাইন-ইন দ্বিগুণ হয়েছে , যা এর ব্যাপক ব্যবহারকারী গ্রহণযোগ্যতা প্রমাণ করে।
- যেসব ব্যবহারকারী পাসকি ব্যবহার শুরু করেন, তারা সাধারণ ফিশিং এবং পাসওয়ার্ড লঙ্ঘনের হুমকি থেকে সম্পূর্ণ সুরক্ষিত থাকেন।
- মাসিক ৩১% হারে ব্যবহার বৃদ্ধির ফলে, ফিশিং এবং সিম সোয়াপের মতো দুর্বলতার বিরুদ্ধে উন্নত নিরাপত্তা থেকে আরও বেশি ব্যবহারকারী প্রতিদিন উপকৃত হচ্ছেন।
সুপারিশ এবং সর্বোত্তম অনুশীলন
অ্যান্ড্রয়েডে সফলভাবে পাসকি প্রয়োগ করতে, ডেভেলপারদের নিম্নলিখিত সর্বোত্তম অনুশীলনগুলো বিবেচনা করা উচিত:
- অ্যান্ড্রয়েডের ক্রেডেনশিয়াল ম্যানেজার এপিআই ব্যবহার করুন:
- ক্রেডেনশিয়াল ম্যানেজার ক্রেডেনশিয়াল পুনরুদ্ধারকে সহজ করে, ডেভেলপারদের শ্রম কমায় এবং একটি সমন্বিত প্রমাণীকরণ অভিজ্ঞতা নিশ্চিত করে।
- একটিমাত্র ইন্টারফেসে পাসওয়ার্ড, পাসকি এবং ফেডারেটেড লগইন প্রক্রিয়া পরিচালনা করে।
- অন্যান্য FIDO প্রমাণীকরণ সমাধান থেকে স্থানান্তরের সময় ডেটা এনকোডিংয়ের সামঞ্জস্য নিশ্চিত করুন:
- FIDO সিকিউরিটি কী-এর মতো অন্যান্য FIDO অথেনটিকেশন সলিউশন থেকে মাইগ্রেট করার সময়, সমস্ত ইনপুট/আউটপুটের জন্য সামঞ্জস্যপূর্ণ ফরম্যাটিং নিশ্চিত করুন।
- ত্রুটি পরিচালনা এবং লগিং অপ্টিমাইজ করুন:
- নির্বিঘ্ন ব্যবহারকারী অভিজ্ঞতার জন্য শক্তিশালী ত্রুটি ব্যবস্থাপনা ব্যবস্থা প্রয়োগ করুন।
- অপ্রত্যাশিত ব্যর্থতা ডিবাগ ও সমাধান করার জন্য স্থানীয় ত্রুটি বার্তা এবং বিস্তারিত লগ ব্যবহার করুন।
- পাসকি পুনরুদ্ধারের বিকল্পগুলো সম্পর্কে ব্যবহারকারীদের অবহিত করুন:
- ব্যবহারকারীদের পুনরুদ্ধারের বিকল্পগুলো সম্পর্কে আগে থেকেই নির্দেশনা দিয়ে লকআউটের পরিস্থিতি প্রতিরোধ করুন।
- গ্রহণের মেট্রিক্স এবং ব্যবহারকারীর প্রতিক্রিয়া নিরীক্ষণ করুন:
- ব্যবহারকারীর অভিজ্ঞতা ক্রমাগত উন্নত করতে ব্যবহারকারীর সম্পৃক্ততা, পাসকি ব্যবহারের হার এবং লগইন সফলতার হার ট্র্যাক করুন।
- রূপান্তর ও ধরে রাখার হার উন্নত করতে বিভিন্ন প্রমাণীকরণ প্রক্রিয়ার ওপর এ/বি টেস্টিং পরিচালনা করুন।
অ্যান্ড্রয়েড ক্রেডেনশিয়াল ম্যানেজার এপিআই (Android Credential Manager API )-এর সাথে মিলিত পাসকি (Passkeys) একটি শক্তিশালী ও সমন্বিত প্রমাণীকরণ সমাধান প্রদান করে, যা নিরাপত্তা বৃদ্ধির পাশাপাশি ব্যবহারকারীর অভিজ্ঞতাকে সহজ করে তোলে। পাসকি ফিশিং ঝুঁকি, ক্রেডেনশিয়াল চুরি এবং অননুমোদিত অ্যাক্সেস উল্লেখযোগ্যভাবে হ্রাস করে। আমরা ডেভেলপারদের তাদের অ্যাপে এই অভিজ্ঞতাটি ব্যবহার করে দেখতে এবং ব্যবহারকারীদের জন্য সবচেয়ে নিরাপদ প্রমাণীকরণ ব্যবস্থাটি নিয়ে আসতে উৎসাহিত করি।
পাসকি এবং ক্রেডেনশিয়াল ম্যানেজার দিয়ে শুরু করুন
আমাদের পাবলিক স্যাম্পল কোড ব্যবহার করে অ্যান্ড্রয়েডে পাসকি এবং ক্রেডেনশিয়াল ম্যানেজার হাতে-কলমে ব্যবহার করে দেখুন।
আপনার কোনো প্রশ্ন বা সমস্যা থাকলে, আপনি অ্যান্ড্রয়েড ক্রেডেনশিয়ালস ইস্যু ট্র্যাকারের মাধ্যমে আমাদের জানাতে পারেন।
পড়তে থাকুন

কেস স্টাডিজ
উবার নতুন ডিভাইসে সাইন-ইন প্রক্রিয়াকে সহজ করতে অ্যান্ড্রয়েড রিস্টোর ক্রেডেনশিয়ালস এপিআই ব্যবহার করেছে, যার ফলে বছরে ৪০ লক্ষ ম্যানুয়াল লগইন কমবে এবং ব্যবহারকারী ধরে রাখার হার বাড়বে বলে আশা করা হচ্ছে।
Niharika Arora • পড়তে ৫ মিনিট

কেস স্টাডিজ
ব্রেকিং নিউজ ও বিনোদন থেকে শুরু করে খেলাধুলা ও রাজনীতি পর্যন্ত, এক্স হলো একটি সোশ্যাল মিডিয়া অ্যাপ যার লক্ষ্য বিশ্বজুড়ে প্রায় ৫০ কোটি ব্যবহারকারীকে সমস্ত লাইভ ভাষ্যসহ সম্পূর্ণ খবরটি পেতে সাহায্য করা।
Niharika Arora • পড়তে ৩ মিনিট

কেস স্টাডিজ
মনজো হলো যুক্তরাজ্যের একটি ডিজিটাল ব্যাংক, যার গ্রাহক সংখ্যা ১৫ মিলিয়ন এবং তা ক্রমাগত বাড়ছে। অ্যাপটির পরিধি বাড়ার সাথে সাথে, ইঞ্জিনিয়ারিং টিম অ্যাপ চালু হওয়ার সময়কে উন্নতির জন্য একটি গুরুত্বপূর্ণ ক্ষেত্র হিসেবে চিহ্নিত করে, কিন্তু তারা চিন্তিত ছিল যে এর জন্য তাদের কোডবেসে বড় ধরনের পরিবর্তন আনতে হবে।
Ben Weiss • পড়তে ২ মিনিট
আপ-টু-ডেট থাকুন
অ্যান্ড্রয়েড ডেভেলপমেন্টের সর্বশেষ তথ্য প্রতি সপ্তাহে আপনার ইনবক্সে পান।



