ডেভেলপার রিলেশনস ইঞ্জিনিয়ার
ইন্ডাস্ট্রি পাসওয়ার্ড ও ফিজিক্যাল ওয়ালেট থেকে সরে আসার সাথে সাথে, ব্যবহারকারীর আধুনিক অভিজ্ঞতা প্রদান করার জন্য নির্বিঘ্ন যাচাইকরণ ও বিশ্বস্ত পরিচয় যাচাইকরণ, দুটিই প্রয়োজন। পাসকী এক ট্যাপে লগ-ইন করার সুবিধা প্রদান করলেও, ডিভাইস পরিবর্তন করার সময় ব্যবহারকারীর এনগেজমেন্টে সবচেয়ে বেশি ড্রপ-অফ দেখা যায়। নতুন Google Play জিরো ট্যাপ সাইন-ইন স্ট্যান্ডার্ড পূরণ করতে, ক্রেডেনশিয়াল রিস্টোর করুন API ব্যবহার করে কীভাবে মাইগ্রেশন সংক্রান্ত সমস্যা কমাবেন তা জানুন।
এই সেশনে Android Credential Manager-এর সাথে একটিমাত্র ইন্টিগ্রেশন কীভাবে পাসকী, সাইলেন্ট ডিভাইস রিস্টোরেশন ও ডিজিটাল ক্রেডেনশিয়ালকে একত্রিত করে তা এক্সপ্লোর করা হয়, যার ফলে আপনি সরাসরি ডিভাইস থেকে পরিচয় সংক্রান্ত অ্যাট্রিবিউট যাচাই করতে এবং একটি সহজ, সুরক্ষিত অনবোর্ডিং ফ্লো তৈরি করতে পারবেন।
ট্রান্সস্ক্রিপ্ট করা
হ্যালো, সবাইকে স্বাগত।
আজ আমাদের সাথে যোগ দেওয়ার জন্য ধন্যবাদ।
আজ, আমরা যাচাইকরণ ও ডিজিটাল পরিচয়ের ভবিষ্যৎ নিয়ে কথা বলতে পেরে আনন্দিত।
আমি টম কলভিন।
আমি Apptaura-এর CTO এবং Android-এ GDE এবং আমার সাথে আছেন চিপিং ইয়ে, যিনি Google-এ সিনিয়র Android ডেভেলপার রিলেশনস ইঞ্জিনিয়ার।
The venerable password is dead.
অথবা, অন্তত, এটি হওয়া উচিত।
আজ আমি পাসওয়ার্ডহীন দুনিয়া সম্পর্কে কথা বলতে চলেছি।
আমাদের নিরাপত্তা পরিকাঠামোয় পাসওয়ার্ড হল একটি সুপরিচিত দুর্বলতা।
এমনকি সেগুলি নিরাপদে স্টোর করা থাকলেও, ফিশিং, সার্ভার লঙ্ঘন এবং ক্রেডেনশিয়াল স্টাফিংয়ের মতো অটোমেটিক অ্যাটাকের ক্ষেত্রে সেগুলি অসুরক্ষিত।
ইন্ডাস্ট্রি হিসেবে, আমরা জটিলতা প্রয়োগ করে এই সমস্যার সমাধান করার চেষ্টা করেছি: বিশেষ অক্ষর, সংখ্যা, বাধ্যতামূলক রোটেশন।
প্রমাণ থেকে দেখা গেছে যে এটি ব্যর্থ হয়েছে, আংশিকভাবে কারণ আপনি এটিকে যত কঠিন করবেন, তত বেশি আপনি, আপাতদৃষ্টিতে, অনিরাপদ আচরণকে উৎসাহিত করবেন।
কারণ, জটিল পাসওয়ার্ড যা নিয়মিত পরিবর্তন করা হয়, তা স্টিকি নোটে লিখে রাখার সম্ভাবনা বেশি থাকে।
এমনকি এসএমএস-ভিত্তিক দুই-ধাপে যাচাইকরণও সিম সোয়াপিংয়ের মতো ইন্টারসেপশনের ক্ষেত্রে অসুরক্ষিত বলে প্রমাণিত হয়েছে।
তবে, বর্তমানে এই সমস্যার অনেকটাই সমাধান করা গেছে।
পাসকী হল-- FIDO স্ট্যান্ডার্ডের উপর ভিত্তি করে তৈরি এবং সর্বজনীন-ব্যক্তিগত কী ক্রিপ্টোগ্রাফি ব্যবহার করে।
এগুলি ফিশিংয়ের বিরুদ্ধে অত্যন্ত প্রতিরোধী, সার্ভার লঙ্ঘনের ক্ষেত্রে প্রকাশ পায় না এবং স্ক্রিন লকের মাধ্যমে সরাসরি ব্যবহারকারীর ফোনের নিরাপত্তার সাথে যুক্ত থাকে, যা বেশিরভাগ ক্ষেত্রে আমাদের বায়োমেট্রিক্স, ফিঙ্গারপ্রিন্ট ইত্যাদির উপর ভিত্তি করে তৈরি হয়। এবং এগুলি প্ল্যাটফর্ম জুড়ে ইউনিফায়েড অভিজ্ঞতার মাধ্যমে ব্যবহারকারীর অভিজ্ঞতাকে সক্রিয়ভাবে উন্নত করে এবং জটিল পাসওয়ার্ড মনে রাখার প্রয়োজন হয় না।
আজ আমাদের ইস্তেহার সহজ।
পাসওয়ার্ড ছাড়া দুনিয়ায় প্রবেশ করার সময় এসে গেছে।
এবং এটি করার টুল আমাদের হাতে আগে থেকেই আছে।
Android-এ এই পরিবর্তন করার জন্য আমাদের কাছে Jetpack ক্রেডেনশিয়াল ম্যানেজার আছে।
এটি Android 4.4 পর্যন্ত সব ভার্সনে কাজ করে এবং Android 9 থেকে পাসকী কাজ করে। এটি একটি একক, ইউনিফায়েড API প্রদান করে যা পাসকী এবং সেইসাথে Google-এর মাধ্যমে সাইন-ইনের মতো ফেডারেশন সাইন-ইন সহ প্রথাগত যাচাইকরণে কাজ করে। এছাড়াও, প্রয়োজন হলে পাসওয়ার্ডে ফিরে যাওয়ার সুবিধাও প্রদান করে।
আপনি ক্রেডেনশিয়াল ম্যানেজার API কল করেন এবং ব্যবহারকারী কোন যাচাইকরণ পদ্ধতি দেখতে চান তা বেছে নেওয়ার জন্য এটি UI ম্যানেজ করে।
তারপর এটি সঠিক ক্রেডেনশিয়াল ফিরিয়ে আনার জন্য কঠোর পরিশ্রম করে, যা নিরাপদে পাওয়া যায়।
এটি সাইন-ইন, সাইন-আপ ও ক্রেডেনশিয়ালের ব্যাক-আপ নেওয়ার সুবিধা প্রদান করে।
এবং আপনি এটি ক্রেডেনশিয়াল আপডেট করতে এবং মুছে ফেলতে ব্যবহার করতে পারেন।
এছাড়াও, এটি ব্যবহারকারীদের মাত্র কয়েকটি ক্লিকে ক্রেডেনশিয়াল প্রদানকারীদের মধ্যে তাদের পাসওয়ার্ড এবং পাসকী প্রো- সরাতে সাহায্য করে এবং কোনও ফাইল ডাউনলোড করার প্রয়োজন হয় না।
এটি ব্যবহারকারীদের তাদের ডেটার উপর সম্পূর্ণ নিয়ন্ত্রণ এবং যখনই প্রয়োজন হবে তখনই পরিষেবা প্রদানকারী পরিবর্তন করার স্বাধীনতা দেওয়ার জন্য ডিজাইন করা হয়েছে।
এবং ক্রেডেনশিয়াল প্রো- ম্যানেজার ঘড়ি, টিভি, XR, অটোমোটিভ, ফোন, ফোল্ডেবল, ট্যাবলেট সহ অনেক ফর্ম ফ্যাক্টর সাপোর্ট করে।
এবং, আমাদের জন্য সবচেয়ে গুরুত্বপূর্ণ হল, পাসকী ব্যবহারের জন্য এতে একটি ডেডিকেটেড ফ্লো আছে।
সাইন-আপ করার সময় ব্যবহারকারী এটি দেখতে পাবেন।
আমার অ্যাপ ক্রেডেনশিয়াল ম্যানেজারকে জানায় যে পাসকী যাচাইকরণ উপলভ্য আছে এবং এটি ব্যাক-এন্ড থেকে সংগ্রহ করা বিবরণ প্রদান করে।
আপনি 'রেজিস্টার করুন' বিকল্পে ক্লিক করলে, Credential Manager আপনাকে স্ক্রিন লক প্রম্পট সহ স্ক্রিনের নিচে অ্যাটাচ করা শিট দেখায়।
এটি সাধারণত ফিঙ্গারপ্রিন্ট বা ফেস স্ক্যানের মতো বায়োমেট্রিক্সের মাধ্যমে আনলক করা হয়।
আর ক্রেডেনশিয়াল ম্যানেজার তখন জটিল ক্রিপ্টোগ্রাফি কাজ যেমন পাসকী তৈরি করা, তা ম্যানেজ করে।
এবং এটি আমার ক্রেডেনশিয়াল ম্যানেজারে পাসকী সেভ করে, যা এই ক্ষেত্রে Google Password Manager, তবে এটি অন্য কিছুও হতে পারে।
কোডটি দেখতে কেমন তা এখানে দেওয়া হল।
val createPublicKeyCredentialRequest = CreatePublicKeyCredentialRequest(
requestJson = registerRequestJson
)
val createCredentialResponse = credentialManager.createCredential (
context = localActivity,
request = createPublicKeyCredentialRequest
)প্রথমত, ব্যাক-এন্ডের দেওয়া বিবরণ ব্যবহার করে আমরা এই createPublicKeyCredentialRequest অবজেক্ট তৈরি করছি, যা হল এই registerRequestJson।
তারপর, আমরা ম্যাজিক মেথড, credentialManager.createCredential কল করি।
আমরা সেই অনুরোধ এবং স্থানীয় প্রসঙ্গ পাস করি, যা এটিকে UI দেখাতে দেয়।
লক্ষ্য করুন, এখানে আমাকে কোনও UI কোড লিখতে হয়নি।
ক্রেডেনশিয়াল ম্যানেজার আমাদের জন্য সম্পূর্ণভাবে এটি করে।
এখন, এটি হল সাইন-ইন করার প্রসেস।
ব্যবহারকারীর কাছে এটি সাইন-আপ প্রসেসের মতোই মনে হয়।
আনলক করার জন্য একটি প্রম্পট দেখানো হবে এবং আপনার কাজ হয়ে যাবে।
ডেভেলপারদের জন্য, সামান্য আলাদা।
val getPublicKeyCredentialOption = GetPublicKeyCredentialOption(
requestJson = authenticationRequestJson
)
val signInRequest =
GetCredentialRequest(listOf(getPublicKeyCredentialOption))
val result = credentialManager.getCredential (
context = localActivity,
request = signInRequest
)প্রথমে, GetPublicKeyCredential ইনস্ট্যান্স তৈরি করার জন্য আমরা ব্যাক-এন্ড থেকে সাইন-ইন সংক্রান্ত বিবরণ পাই।
আমরা ক্রেডেনশিয়াল ম্যানেজারকে জানাই যে কোন ধরনের ক্রেডেনশিয়াল আমরা সাপোর্ট করি।
এখানে শুধু পাসকী আছে।
তবে আমরা চাইলে অন্য ধরনের ক্রেডেনশিয়ালও যোগ করতে পারি।
তারপর আমরা credentialManager.getCredential-এ কল করে ক্রেডেনশিয়ালের সেই তালিকা পাস করি যার জন্য আমরা এইমাত্র অনুরোধ করেছি।
আবার, কোনও UI কোড নেই।
কোনও UI কোড লেখার প্রয়োজন নেই।
ক্রেডেনশিয়াল ম্যানেজার আমাদের জন্য এটির সম্পূর্ণ যত্ন নেয়।
এটি ব্যবহারকারীকে সবচেয়ে ঘন-- ঘনঘন ব্যবহৃত বিকল্পের দিকে নিয়ে যায় এবং অন্যান্য বিকল্প ব্যাক-আপ হিসেবে উপলভ্য থাকে।
এটি আজকের সবচেয়ে বিরক্তিকর যাচাইকরণ সংক্রান্ত সমস্যার একটির অটোমেটিক সমাধান করে।
আপনি কি লক্ষ্য করেছেন?
অর্থাৎ, আমি শেষবার সাইন-ইন করার জন্য কোন পদ্ধতি ব্যবহার করেছি তা মনে রাখা।
দেখুন, স্ক্রিনের নিচে অ্যাটাচ করা শিটে উত্তরটি সুন্দরভাবে উপস্থাপন করা হয়েছে।
যাইহোক, এটি ব্যবহারকারীর জন্য শুধু বিরক্তির কারণ নয়।
এটি একটি আসল ঘর্ষণ বিন্দু।
এর ফলে অপ্রয়োজনীয় অ্যাকাউন্ট ফিরিয়ে আনার প্রয়োজন হয় এবং পরিত্যক্ত শপিং কার্টের মতো বাণিজ্যিক প্রভাব পড়ে।
এখানে আমার ডেমো অ্যাপ্লিকেশন কোড দেওয়া হল, যা আপনি ক্রেডেনশিয়াল ম্যানেজার ব্যবহার করে দেখতে পারেন।
এবং আপনি নিজের ডিভাইসে এই ফ্লো দেখতে পাবেন।
আর বাঁদিকে অফিসিয়াল Goo-- কোড কোড স্যাম্পেল আছে।
যা পাসকী তৈরি করার বিষয়টি ম্যানেজ করে।
বর্তমানে পাসওয়ার্ড ব্যবহারকারীদের পাসকিতে আপগ্রেড করার ব্যাপারে কী করা যায়?
এর জন্য একটি শক্তিশালী টুল হল কন্ডিশনাল ক্রিয়েট।
আপনার ব্যবহারকারী যদি তার পাসওয়ার্ড ব্যবহার করে সাইন-ইন করে থাকেন এবং এটি কোনও কাজ করে এমন ক্রেডেনশিয়াল প্রদানকারীর মাধ্যমে অটোফিল করা হয়, তাহলে আমরা জানি যে তিনি অ্যাক্টিভভাবে যুক্ত আছেন এবং আমরা তার পরিচয় নতুন করে যাচাই করেছি।
সেক্ষেত্রে, কন্ডিশনাল ক্রিয়েট আমাদের ব্যাকগ্রাউন্ডে অটোমেটিক পাসকী তৈরি করার অনুরোধ করার অনুমতি দেয়।
এটি ব্যবহারকারীর ওয়ার্কফ্লোতে বাধা সৃষ্টি করে না।
পাসও-- পাসকীটি নীরবে তৈরি করা হয় এবং এটি স্টোর করা হয়।
এটি যে হয়েছে তা কনফার্ম করার জন্য Google Password Manager একটি বিজ্ঞপ্তি দেখায়।
অন্যান্য Password Manager অন্যভাবে কাজ করতে পারে।
কন্ডিশনাল ক্রিয়েটের কোড সাইন-আপের কোডের মতোই দেখতে।
val createPublicKeyCredentialRequest = CreatePublicKeyCredentialRequest(
requestJson = registerRequestJson,
preferImmediatelyAvailableCredentials = false,
isConditional = true
)
val createCredentialResponse = credentialManager.createCredential (
context = localActivity,
request = createPublicKeyCredentialRequest
)ম্যাজিক ফ্ল্যা-- ফ্ল্যাগ হল isConditional true, যা নিশ্চিত করে যে ব্যবহারকারী সেই UI দেখতে পাবেন না।
এবং যেহেতু এটি সুযোগ বুঝে কাজ করে, তাই আমরা এটিকে ট্রাই-ক্যাচে রাখব।
আমরা যেকোনও সমস্যা নীরবে সমাধান করব, যাতে প্রসেসটি ব্যর্থ হলে ব্যবহারকারীকে বিরক্ত না করা হয়।
তারপর, পাসকী ব্যবহারকারীর ক্রেডেনশিয়াল ম্যানেজারে সেভ করা হয় এবং পরের বার ব্যবহার করার জন্য সেটি সেখানে থাকে।
এছাড়াও, ক্রেডেনশিয়াল ম্যানেজার ক্রেডেনশিয়াল প্রদানকারীদের তাদের ক্রেডেনশিয়াল নিরাপদে ইমপোর্ট ও এক্সপোর্ট করার অনুমতি দেয়।
মাত্র কয়েকবার ক্লিক করুন।
কোনও কিছু ডাউনলোড করার প্রয়োজন নেই।
এটি আরও বেশি নমনীয়-- নমনীয়তা প্রদান করে, তথ্য সুরক্ষিত রাখার পাশাপাশি।
ফ্লোটি দেখতে এইরকম হয়।
নতুন ক্রেডেনশিয়াল প্রোভাইডারে, ব্যবহারকারী ক্রেডেনশিয়াল ইমপোর্ট করার অনুরোধ করেন।
তারপর ক্রেডেনশিয়াল ম্যানেজার ইমপোর্ট UI ম্যানেজ করে, যা ব্যবহারকারীকে ক্রেডেনশিয়াল ডেটার সোর্স বেছে নেওয়ার অনুমতি দেয়।
এক্সপোর্ট করা ক্রেডেনশিয়াল প্রদানকারী তখন তার নিজস্ব UI প্রদান করতে পারে এবং এটি তাদের ব্যবহারকারীকে শিক্ষিত করতে এবং প্রাসঙ্গিক সতর্কতা প্রদান করতে দেয়।
এবং সবশেষে, ব্যবহারকারীর নতুন ক্রেডেনশিয়াল প্রদানকারীকে একটি সুরক্ষিত চ্যানেলের মাধ্যমে ডেটা দেওয়া হয়।
তাই এটি কোনও ব্যবহারকারীর ইন্টারঅ্যাকশন ছাড়াই এটি ইম্পোর্ট করতে সক্ষম।
কিন্তু ব্যবহারকারী তার অ্যাপ বা ওয়েবসাইট থেকে পাসকী তুলে নিলে কী হবে?
তাহলে ক্রেডেনশিয়াল প্রদানকারীকে এটি জানতে হবে না যে এটি ঘটেছে।
পরের বার তারা সাইন-ইন করার চেষ্টা করলে, ক্রেডেনশিয়াল ম্যানেজার সেই অকার্যকর পাসকী অফার করবে এবং তাদের চেষ্টা বাতিল হয়ে যাবে।
একইভাবে, কোনও ব্যবহারকারী তার ইউজারনেম বা ডিসপ্লে নাম আপডেট করলে, সিঙ্ক করার প্রয়োজন হয়।
এখন Signal API-এর মাধ্যমে, আপনার অ্যাপ ক্রেডেনশিয়াল প্রদানকারীকে এইসব নির্দিষ্ট স্ট্যাটাস ফ্ল্যাগ করতে পারে।
উদাহরণ হিসেবে, প্রত্যাহার করা পাসওয়ার্ড দিয়ে সাইন-ইন করার বিষয়টি বিবেচনা করা যাক।
আপনার অ্যাপ সেই নির্দিষ্ট সমস্যা সংক্রান্ত স্ট্যাটাস ধরতে পারে এবং ব্যবহারকারীর ক্রেডেনশিয়াল প্রদানকারীকে জানাতে এটি ব্যবহার করতে পারে।
ক্রেডেনশিয়াল প্রোভাইডার তখন নিজেকে আপডেট করতে পারে যাতে সেই নির্দিষ্ট পাসকী অফার করা না হয়।
এগুলি হল ক্রেডেনশিয়াল ম্যানেজারের কিছু ফিচার এবং পাসকী ব্যবহার করে ব্যবহারকারীদের সাইন-আপ করার জন্য এবং সাইন-ইন করার সময় অন্যান্য পদ্ধতির চেয়ে পাসকীগুলিকে অগ্রাধিকার দেওয়ার জন্য এটি অত্যন্ত সহায়ক।
তবে মনে রাখবেন, আমাদের চূড়ান্ত লক্ষ্য হল পাসওয়ার্ডের ব্যবহার সম্পূর্ণভাবে বন্ধ করা।
ক্রেডেনশিয়াল ম্যানেজার কীভাবে সেই লক্ষ্য পূরণ করতে সাহায্য করে?
আমাদের প্রস্তাবিত পাঁচ-ধাপের প্রসেস এখানে দেওয়া হল।
প্রথম দুটি ধাপে, আপনি পাসওয়ার্ড ব্যবহারকারীদের পাসকিতে আপগ্রেড করেন।
প্রথমে, আমরা সুযোগ বুঝে, কন্ডিশনাল ক্রিয়েট ব্যবহার করে চেষ্টা করি।
তারপর, যদি এমন কোনও সুযোগ না আসে, তাহলে শেষ পর্যন্ত আমাদের ব্যবহারকারীর হস্তক্ষেপের প্রয়োজন হবে, তাই অ্যাপ-মধ্যস্থ আমন্ত্রণ ব্যবহারকারীদের পাসকী সেট আপ করতে বলবে।
আমরা ধীরে ধীরে সেগুলি আরও বেশি করে এবং আরও স্পষ্টভাবে দেখাতে শুরু করতে পারি।
ব্যবহারকারীর দৃষ্টিকোণ থেকে, সাধারণত তাদের শুধু স্ক্রিন লক দিতে হয়, যেমন বায়োমেট্রিক্স।
অ্যানালিটিক্স থেকে যদি দেখা যায় যে আপনার বেশিরভাগ ব্যবহারকারী পাসকী ব্যবহার করে অ্যাকাউন্ট তৈরি করেছেন, তাহলে সব নতুন ব্যবহারকারীর জন্য পাসকী বাধ্যতামূলক করা যেতে পারে।
তবে সেইসব পুরনো ব্যবহারকারীদের সাথে আমরা শেষ তিনটি ধাপে ডিল করি।
আমরা পাসকী ব্যবহারকারীদের তাদের পাসওয়ার্ড সরিয়ে দিতে উৎসাহিত করি।
তাই ৩ নম্বর ধাপে, আমরা তাদের অ্যাকাউন্ট সেটিংসে খুব স্পষ্ট 'পাসওয়ার্ড মুছে দিন' বিকল্পের মাধ্যমে ম্যানুয়ালি এটি করার অনুমতি দিচ্ছি।
ধাপ ৪-এ, আমরা পাসওয়ার্ড মুছে ফেলার জন্য পুশ বিজ্ঞপ্তি পাঠানো শুরু করি, যেমন, শিক্ষামূলক কপির সাথে ইন-অ্যাপ বিজ্ঞপ্তি।
এবং অবশেষে, আপনি পাসওয়ার্ড মুছে ফেলার বিকল্প চালু থেকে বন্ধ করার বিকল্পে পরিবর্তন করেন।
এমনকি, শেষ পর্যন্ত অপ্ট-আউট করার বিকল্পও আর দেখা যাবে না।
অ্যাপ থেকে পাসওয়ার্ড ফ্লো সম্পূর্ণভাবে সরিয়ে দেওয়ার ব্যাপারে অ্যানালিটিক্স আমাদের আত্মবিশ্বাস দেবে।
তাই, পাসওয়ার্ডমুক্ত ভবিষ্যতের দিকে এগিয়ে যাওয়া এখন আর কোনও তাত্ত্বিক নিরাপত্তা সংক্রান্ত ধারণা নয়।
এটি খুব ভালভাবে কাজ করে।
API-গুলি শক্তিশালী, ব্যবহারকারীর অভিজ্ঞতা চমৎকার।
আমি আপনাকে আজই ক্রেডেনশিয়াল ম্যানেজারের সাথে পাসকী ফ্লো ইন্টিগ্রেট করা শুরু করার জন্য উৎসাহিত করছি।
আপনার ব্যবহারকারীদের আপগ্রেড করা শুরু করুন এবং অবশেষে পাসওয়ার্ডের ব্যবহার বন্ধ করুন।
ধন্যবাদ।
এখন আমি চিপিংকে ডিভাইস মাইগ্রেশন এবং পরিচয়ের পরবর্তী বিবর্তন সম্পর্কে কথা বলার জন্য আমন্ত্রণ জানাচ্ছি।
ঠিক আছে।
ঠিক আছে, ধন্যবাদ, টম।
টম যেমন হাইলাইট করেছেন, ব্যবহারকারীর ডিভাইসে নির্বিঘ্ন যাচাইকরণ অত্যন্ত গুরুত্বপূর্ণ।
কিন্তু কোনও ব্যবহারকারী নতুন ফোন কিনলে কী হবে?
ব্যবহারকারীর অভিজ্ঞতায় সবচেয়ে বড় ড্রপ অফ প্রায়শই ঘটে যখন তারা ডিভাইস পরিবর্তন করেন।
আজ, আমি প্রথমে এই সমস্যার সমাধান কীভাবে করছি তা নিয়ে কথা বলতে চাই এবং ক্রেডেনশিয়াল রিস্টোরেশন সংক্রান্ত Play Store-এর আসন্ন প্রয়োজনীয়তা সম্পর্কে সংক্ষেপে আলোচনা করতে চাই।
এপ্রিল ২০২৭ থেকে, Google Play-তে অ্যাপের সম্পূর্ণ প্রকাশনা ক্ষমতা এবং Play Store-এ সর্বোত্তম দৃশ্যমানতা বজায় রাখতে, অ্যাপগুলিকে জিরো-ট্যাপ সাইন-ইন সংক্রান্ত প্রয়োজনীয়তা পূরণ করতে হবে।
জিরো-ট্যাপ সাইন-ইন কী?
এর অর্থ হল, নতুন ডিভাইসে ট্রানজিশন করার সময় ব্যবহারকারীদের আপনার অ্যাপে ম্যানুয়ালি আবার যাচাই করতে হবে না।
আমরা এটি কীভাবে প্রয়োগ করব?
এটি করার জন্য আমরা যে প্রাথমিক পদ্ধতির সাজেশন দিই তা হল ক্রেডেনশিয়াল ম্যানেজারের মাধ্যমে Android-এর ক্রেডেনশিয়াল রিস্টোর করুন API ব্যবহার করা।
এই API আপনাকে 'রিস্টোর কী' নামে পরিচিত একটি কী তৈরি করতে দেয়, যা ব্যবহারকারীর ব্যাক-আপ সেটিংসের উপর ভিত্তি করে ব্যবহারকারীর ডিভাইসে বা ক্লাউডে সেভ করা হয়।
ব্যবহারকারী সাইন-ইন করার পরে ব্যাকগ্রাউন্ডে এই 'কী' জেনারেট করার সাজেশন আমরা দিই।
এই ডায়াগ্রামে, আমরা একজন ব্যবহারকারীর অ্যাপে সাইন-ইন করার বিষয়টি ব্যাখ্যা করেছি।
তারপর, কোনও এক সময় অ্যাপ ব্যবহার করার সময় রিস্টোর 'কী' তৈরি করা হয়।
এই 'কী' স্থানীয়ভাবে অথবা চালু করা থাকলে, রিমোটলি ক্লাউডে স্টোর করা হয়।
ব্যবহারকারী তার নতুন ডিভাইস সেট-আপ করার সময়, ডিভাইস সেট-আপ প্রসেস চলাকালীন ব্যাকগ্রাউন্ডে ক্রেডেনশিয়াল রিস্টোর করার প্রসেসটি নীরবে ট্রান্সফার করা হয়।
ব্যবহারকারীরা ক্লাউড থেকে ডেটা রিস্টোর করা বা ডিভাইস-টু-ডিভাইস ট্রান্সফার করার বিকল্প বেছে নিতে পারবেন।
তারপর, আপনার অ্যাপ খোলা হলে, নতুন ডিভাইসে প্রথমবার লঞ্চ করার সময় ব্যবহারকারীকে সাইন-ইন করাতে এই রিস্টোর কী ব্যবহার করার জন্য আপনি ক্রেডেনশিয়াল ম্যানেজার API কল করতে পারবেন।
এর ফলে ব্যবহারকারী দ্রুত ও নিরাপদে আপনার অ্যাপে লগ-ইন করতে পারবেন।
এবং আপনি যদি চান যে আপনার অ্যাপটি সেট-আপ করার সাথে সাথেই রিস্টোর করা হোক, তাহলে আপনি এটি করার জন্য একটি কাস্টম ব্যাকআপ এজেন্ট প্রয়োগ করতে পারেন।
এর ফলে, ব্যবহারকারী ম্যানুয়ালি আপনার অ্যাপ না খুলেই লগ-ইন করতে পারবেন।
আমাদের কিছু পার্টনার তাদের অ্যাপে এটি আগেই প্রয়োগ করেছেন।
Uber হল বিশ্বের সবচেয়ে বড় রাইড শেয়ারিং কোম্পানি, যা লক্ষ লক্ষ মানুষকে পরিবহনের সুবিধা প্রদান করে, এর পাশাপাশি খাবার ডেলিভারি, স্বাস্থ্য পরিষেবা সংক্রান্ত পরিবহন এবং মালবাহী লজিস্টিকসের সুবিধাও প্রদান করে।
সহজে অ্যাক্সেস করা অত্যন্ত গুরুত্বপূর্ণ।
এবং ব্যবহারকারীরা যখন একটি নতুন ডিভাইসে পরিবর্তন করেন, তখন তারা Uber অ্যাপে আবার লগ-ইন করার বা প্রতিবার এসএমএস-ভিত্তিক ওয়ান-টাইম যাচাইকরণের মাধ্যমে না গিয়ে একটি নির্বিঘ্ন ট্রানজিশন আশা করেন।
ঘন ঘন ডিভাইস পরিবর্তন করার ফলে ব্যবহারকারীকে ধরে রাখা কঠিন হয়ে পড়ে।
ব্যবহারকারীর চাহিদা এবং কোড প্রোটোটাইপিং মূল্যায়ন করার পরে, Uber, Uber Rider অ্যাপে ক্রেডেনশিয়াল রিস্টোর করার সুবিধা চালু করেছে এবং এর ফলাফল খুবই ইতিবাচক হয়েছে।
তারা অনুমান করেন যে এটি প্রতিদিন গড়ে ৪০ লক্ষ লগ-ইন বাঁচাবে এবং তারা আশা করেন যে এই সংখ্যাটি আরও বাড়বে কারণ আরও বেশি সংখ্যক মানুষ এটি ব্যবহার করতে শুরু করবেন।
এই আসন্ন নীতি এবং আপনার অ্যাপ কীভাবে জিরো ট্যাপ রিস্টোরেশন সংক্রান্ত প্রয়োজনীয়তা পূরণ করতে পারে সেই সম্পর্কে আরও জানতে এই QR কোড ও লিঙ্ক দেখুন।
আবার, এটি ২০২৭ সালের এপ্রিল মাসে হবে, তাই আপনার ক্যালেন্ডারে এটি চিহ্নিত করে রাখতে ভুলবেন না।
আর আপনি যদি নিজের অ্যাপে ক্রেডেনশিয়াল রিস্টোর করার ফিচার প্রয়োগ করার ব্যাপারে আগে থেকেই শুরু করতে চান, তাহলে আমাদের ক্রেডেনশিয়াল রিস্টোর করার স্কিল অ্যাক্সেস করার জন্য এই QR কোড ও লিঙ্ক দেখুন।
আপনার পছন্দের এজেন্টের সাথে ফিচারটি দ্রুত ডেভেলপ বা পরীক্ষা করতে এই স্কিল ব্যবহার করা যেতে পারে।
এখন, ডিজিটাল পরিচয়ের পরবর্তী ফ্রন্টিয়ারের দিকে নজর দেওয়া যাক: ক্রেডেনশিয়াল ম্যানেজারের মাধ্যমে ডিজিটাল ক্রেডেনশিয়াল API।
ডিজিটাল ক্রেডেনশিয়াল কী এবং এটি কীভাবে কাজ করে তা দেখে নেওয়া যাক।
ডিজিটাল ক্রেডেনশিয়াল হল ক্রিপ্টোগ্রাফির মাধ্যমে যাচাই করা যায় এমন ডিজিটাল ডকুমেন্ট যা ব্যবহারকারীরা নিজেদের সম্পর্কে তথ্য প্রদান করতে ব্যবহার করতে পারেন।
এইসব ডকুমেন্ট ব্যবহারকারীর ডিভাইসে ডিজিটাল হোল্ডারে স্টোর করা হয় এবং ডিভাইসের অন্যান্য অ্যাপের মাধ্যমে অনুরোধ করা যেতে পারে অথবা হাইব্রিড পদ্ধতিতে, যেমন QR কোডের মাধ্যমে, বিশ্বের সামনে উপস্থাপন করা যেতে পারে।
পরিচয় যাচাই করা থেকে শুরু করে পরিষেবা অ্যাক্সেস করা এবং অনলাইনে আইটেম কেনা পর্যন্ত, এর ব্যবহার ব্যাপক এবং বৈচিত্র্যময়।
ডিজিটাল ক্রেডেনশিয়াল, ফিজিক্যাল কার্ডের প্রয়োজন ছাড়াই তথ্য শেয়ার করার একটি নিরাপদ এবং সুবিধাজনক উপায় অফার করে।
ডিজিটাল ক্রেডেনশিয়ালের সাথে তিনটি পার্টি যুক্ত থাকে: ইস্যুকারী, হোল্ডার ও যাচাইকারী।
ডিজিটাল ক্রেডেনশিয়ালের লাইফ সাধারণত বাঁদিক থেকে ডানদিকে ফ্লো করে।
আসুন, এই প্রতিটি এন্টিটি এবং তাদের ভূমিকা সম্পর্কে জেনে নেওয়া যাক।
প্রথমটি হল ইস্যুকারী, যা নাম থেকেই বোঝা যায়, এমন একটি পক্ষ যা ক্রেডেনশিয়াল ইস্যু করে, ঠিক যেমন সরকার আপনার পাসপোর্ট ইস্যু করে।
তবে, ডিজিটাল দুনিয়ায়, স্পুফিং প্রতিরোধ করতে, এই ক্রেডেনশিয়ালগুলি ইস্যুকারী তাদের ডিজিটাল সার্টিফিকেট দিয়ে স্বাক্ষর করেন, যাতে ক্রেডেনশিয়াল পাওয়া যেকেউ জানতে পারেন যে এটি ঠিক কার কাছ থেকে এসেছে।
আসলে, যেকোনও ব্যক্তি ইস্যুকারী হতে পারেন, তা কোনও জিম, হোটেল বা আপনি নিজেও হতে পারেন।
আপনাকে শুধু ক্রেডেনশিয়াল তৈরি করে তাতে সাইন করতে হবে।
ঠিক আছে, তাহলে ইস্যুকারী ক্রেডেনশিয়াল তৈরি ও ইস্যু করে, কিন্তু সেগুলি কোথাও স্টোর করতে হয়, ঠিক যেমন আপনার সরকারি আইডি নিজের ওয়ালেটে স্টোর করতে হয়।
এটি হল পরবর্তী পার্টি, যাকে হোল্ডার বলা হয়, এটি সাধারণত ডিজিটাল ওয়ালেট হিসেবেও পরিচিত।
নাম থেকে বোঝা যায় যে হোল্ডাররা মূলত ইস্যুকারীর থেকে ইস্যু করা ক্রেডেনশিয়াল হোল্ড করেন।
এগুলি আপনার ডিভাইসে অ্যাপ হিসেবে থাকে এবং তারপর অনুরোধকারী পার্টিকে দেখানো যেতে পারে।
এবং ইস্যুকারীর মতোই, যেকোনও ব্যক্তি হোল্ডার হতে পারেন।
আসলে, ইস্যুকারী ও হোল্ডারকে একই এন্টিটি ম্যানেজ করছে, এমন ঘটনা প্রায়ই দেখা যায়।
এমন একটি জিমের কথা ভাবুন যারা নিজেদের ডিজিটাল মেম্বারশিপ ক্রেডেনশিয়াল তৈরি করতে এবং নিজেদের অ্যাপের মাধ্যমে তা ম্যানেজ করতে চায়।
এটি একই সাথে ইস্যুকারী ও হোল্ডার, দুটিই হবে।
ঠিক আছে, থার্ড-পার্টি হল যাচাইকারী বা সেই পার্টি যারা ডিজিটাল ক্রেডেনশিয়ালের জন্য অনুরোধ করে।
যাচাইকারী সাধারণত ব্যবহারকারীর অ্যাট্রিবিউট চেক করার জন্য ক্রেডেনশিয়াল সংক্রান্ত অনুরোধ করেন, যেমন বয়স হতে হবে বা পারিবারিক নাম ইত্যাদি।
এগুলি হল সেইসব ব্যবসা বা অ্যাপ যেগুলির কোনও পরিষেবা প্রদান করার জন্য ব্যবহারকারীর অতিরিক্ত ডেটা প্রয়োজন হয়, যেমন অ্যালকোহল কেনা বা ন্যূনতম বয়স যাচাই করা।
Android-এ, এই তিনটি পার্টি এবং ব্যবহারকারীর মধ্যে ইন্টার্যাকশন ডিজিটাল ক্রেডেনশিয়াল API সহ ক্রেডেনশিয়াল ম্যানেজারের মাধ্যমে সমন্বিত হয়।
হোল্ডারকে ক্রেডেনশিয়াল ইস্যু করার জন্য ইস্যুকারী API কল করতে পারেন, তবে তারা একই এন্টিটি হলে এটি করার প্রয়োজন নেই।
ক্রেডেনশিয়াল ইস্যু করার পরে, কোনও যাচাইকারী ক্রেডেনশিয়ালের জন্য অনুরোধ করতে API কল করতে পারেন।
ক্রেডেনশিয়াল ম্যানেজার উপলভ্য সব হোল্ডারের সাথে অনুরোধ ম্যাচ করে এবং ক্রেডেনশিয়াল বেছে নেওয়া ও সম্মতি দেওয়ার জন্য ব্যবহারকারীর সামনে সেগুলি উপস্থাপন করে।
হোল্ডার বেছে নেওয়া হলে, এটি চালু করা হয় এবং যাচাইকারীর সাথে ক্রেডেনশিয়াল শেয়ার করার আগে প্রয়োজন হলে অতিরিক্ত চেক করতে পারে।
যাচাইকারী ক্রেডেনশিয়াল পেয়ে গেলে, তিনি ক্রেডেনশিয়ালের বৈধতা সম্পর্কে বিভিন্ন চেকও করতে পারেন, যার মধ্যে আসল ইস্যুকারীকে চেক করাও অন্তর্ভুক্ত।
এখন, আপনি ভাবতে পারেন, ডিজিটাল ক্রেডেনশিয়াল ঠিক কীভাবে সুরক্ষিত থাকে?
প্রসেসের প্রতিটি ধাপে নিরাপত্তা সংক্রান্ত ফিচার যোগ করা আছে এবং আমরা এখন সেগুলির মধ্যে কয়েকটি দেখে নেব।
তাই, ইস্যুকারীর দিক থেকে, ইস্যুকারী যখন কোনও হোল্ডারের সাথে ক্রেডেনশিয়াল শেয়ার করতে চায়, তখন তাকে যাচাই করতে হয় যে হোল্ডারকে টেম্পার বা কপি করা যাবে না, মূলত এটি বিশ্বাসযোগ্য।
এটি কীভাবে এটি যাচাই করতে পারে?
ইস্যুকারী ক্রেডেনশিয়াল রিলিজ করার আগে, হোল্ডারকে নিজের পরিচয় এবং যে ডিভাইসে এটি অপারেট করা হচ্ছে তার নিরাপত্তা প্রমাণ করতে হবে।
হোল্ডার তার ওয়ালেট অ্যাটেস্টেশন পাঠায়, সাধারণত যাচাইযোগ্য সার্টিফিকেট চেইন হিসেবে।
এছাড়াও, হোল্ডার একটি হার্ডওয়্যার-বাউন্ড কী পেয়ার তৈরি করে।
এটি ইস্যুকারীকে এই কী পেয়ার থেকে সর্বজনীন কী পাঠায়, যার সাথে Android কী অ্যাটেস্টেশন থাকে, যাতে ইস্যুকারী হার্ডওয়্যারের বৈধতা যাচাই করতে পারে।
ইস্যুকারী এই সর্বজনীন কী-তে ইস্যু করা ক্রেডেনশিয়াল দিয়ে সাইন-ইন করবে, যাতে ক্রেডেনশিয়ালটি আনুষ্ঠানিকভাবে একটি ডিভাইসের সাথে যুক্ত থাকে।
হোল্ডারের ক্ষেত্রে, হোল্ডারের কাছে নতুন ক্রেডেনশিয়াল থাকলে, এটি শুধুমাত্র ক্রেডেনশিয়াল ম্যানেজারের সাথে তার ক্রেডেনশিয়াল মেটাডেটা রেজিস্টার করে।
কোনও যাচাইকারী ক্রেডেনশিয়াল সংক্রান্ত অনুরোধ করলে, কোন হোল্ডারকে দেখাতে হবে তা নির্ধারণ করতে ক্রেডেনশিয়াল ম্যানেজার এই মেটাডেটা ব্যবহার করে।
কোনও আসল ব্যবহারকারীর ডেটা ক্রেডেনশিয়াল ম্যানেজারে কখনও রেজিস্টার করা হয় না বা Google-এর কাছে প্রকাশ করা হয় না।
এমনকি ক্রেডেনশিয়াল ম্যানেজার ব্যবহারকারীকে দেখানোর জন্য ওয়ালেট বেছে নেওয়ার সময়ও, প্রতিটি ওয়ালেটের মধ্যে থাকা কন্টেন্ট সেই মুহূর্তে প্রকাশ করা হয় না।
এখন, ক্রেডেনশিয়ালের অনুরোধ করা হলে এবং ব্যবহারকারী ক্রেডেনশিয়াল শেয়ার করার ব্যাপারে সম্মতি দিলে, বেছে নেওয়া হোল্ডারকে ইনভোক করা হয় এবং ওয়ার্কফ্লো কন্ট্রোল হোল্ডারের হাতে তুলে দেওয়া হয়।
আপনার মনে থাকতে পারে যে হোল্ডার হল একটি অ্যাপ, তাই অ্যাপটি চালু করা হয়।
এই সময়, হোল্ডার অনুরোধকারী যাচাইকারী এবং অনুরোধ করা ক্রেডেনশিয়ালের মতো তথ্য দেখতে পাবেন এবং ব্যবহারকারী আগে থেকে অনুমতি দিয়ে থাকলেও, তিনি সেই যাচাইকারীর সাথে ক্রেডেনশিয়াল শেয়ার করতে চান কিনা সেই বিষয়ে সিদ্ধান্ত নিতে পারবেন।
Google ক্রেডেনশিয়াল ডেটা অ্যাক্সেস করতে পারে না।
শুধুমাত্র রাউটিং মেটাডেটা রেজিস্টার করা হয় এবং হোল্ডার ও যাচাইকারীর মধ্যে পে-লোড এন্ড-টু-এন্ড এনক্রিপ্ট করা হয়।
এটি হোল্ডারকে নিয়ন্ত্রণ দেয় যে কোন পার্টির সাথে সে নিজের ক্রেডেনশিয়াল শেয়ার করতে চায়।
সবশেষে, যাচাইকারীর দিক থেকে, ক্রেডেনশিয়ালের জন্য অনুরোধ করা হলে এবং হোল্ডার ক্রেডেনশিয়াল শেয়ার করলে, যাচাইকারী হোল্ডারের থেকে ক্রেডেনশিয়াল প্রেজেন্টেশন পান।
এখন, যাচাইকারী চেক করে দেখতে পারবেন যে আসল ক্রেডেনশিয়াল হোল্ডার অনুরোধের জন্য নতুন করে উত্তর জেনারেট করেছেন কিনা।
এটি নিশ্চিত করতে পারে যে ক্রেডেনশিয়াল রেসপন্স হোল্ডারের ডিভাইস-বাউন্ড কী ব্যবহার করে সাইন করা হয়েছে, যার মধ্যে এককালীন টোকেন এবং হোল্ডারের দেখা কলিং অরিজিন অন্তর্ভুক্ত।
যাচাইকারী ইস্যুকারীর সার্টিফিকেট যাচাই করে ক্রেডেনশিয়াল ইস্যুকারীর সত্যতাও চেক করতে পারেন, যাতে এটি কোনও বিশ্বস্ত সোর্স থেকে এসেছে কিনা তা নিশ্চিত করা যায়।
সংক্ষেপে, ইস্যুকারী হার্ডওয়্যার গ্যারেন্টি পায়, হোল্ডার কোন ক্রেডেনশিয়াল শেয়ার করতে চায় তা নিয়ন্ত্রণ করতে পারে, যাচাইকারী ইস্যুকারী ও হোল্ডারের ক্রিপ্টোগ্রাফিক প্রমাণ পায় এবং তারপর ব্যবহারকারী কোন ডেটা শেয়ার করতে চায় তার উপর সম্পূর্ণ সম্মতি বজায় রাখে।
ডিজিটাল ক্রেডেনশিয়াল কীভাবে সুরক্ষিত থাকে তা আমরা জেনেছি, এবার Android-এ ডিজিটাল ক্রেডেনশিয়াল API-এর মাধ্যমে বর্তমানে উপলভ্য ডিজিটাল ক্রেডেনশিয়ালের কিছু ব্যবহারের ক্ষেত্র সম্পর্কে জেনে নেওয়া যাক।
এর মধ্যে প্রথম যে বিষয়টি নিয়ে আমি আলোচনা করব সেটি হল ইমেল যাচাইকরণ।
এই API ব্যবহারকারীর ডিভাইসে লগ-ইন করা Gmail অ্যাকাউন্ট সরাসরি অ্যাক্সেস করে এবং আপনার অ্যাপে Google-যাচাইকৃত ডিজিটাল ক্রেডেনশিয়াল হিসেবে উপস্থাপন করে। এর ফলে, একবার ব্যবহারের পাসওয়ার্ড বা ম্যাজিক লিঙ্ক পাঠানোর প্রয়োজন হয় না।
এর অর্থ হল, ব্যবহারকারীকে আপনার অ্যাপ থেকে বেরিয়ে যেতে হয় না এবং পরিচিত ক্রেডেনশিয়াল ম্যানেজার স্ক্রিনের নিচে অ্যাটাচ করা শিটে শুধু একবার ট্যাপ করে সম্মতি দিতে হয়।
এখানে API-এর অ্যাকশন সংক্রান্ত ডেমো রেকর্ডিং দেখানো হয়েছে।
এটি একটি স্যাম্পেল অ্যাপ যা ডিজিটাল ক্রেডেনশিয়াল API-এর মাধ্যমে ইমেল যাচাইকরণ করে।
আমি "যাচাই করা ইমেলের অনুরোধ করুন" বিকল্পে ট্যাপ করলে, ক্রেডেনশিয়াল ম্যানেজার ডিভাইসে এই ধরনের ক্রেডেনশিয়াল হোল্ডারদের থেকে যাচাই করা ইমেল ডিজিটাল ক্রেডেনশিয়ালের অনুরোধ করে।
এই ক্ষেত্রে, শুধুমাত্র Google এই যাচাই করা ইমেল ক্রেডেনশিয়ালের হোল্ডার, যা আপনি স্ক্রিনের নিচে অ্যাটাচ করা শিটে দেখতে পাবেন।
এটি হল সেইসব ইমেলের মধ্যে একটি যা দিয়ে ব্যবহারকারী ডিভাইসে লগ-ইন করেছেন।
আসলে, এই ক্ষেত্রে Google হল ডিজিটাল ক্রেডেনশিয়ালের ইস্যুকারী ও হোল্ডার, দুটিই।
আমি যে ক্রেডেনশিয়াল শেয়ার করতে চাই সেটি বেছে নেওয়ার পরে, এটি অ্যাপে ফিরে আসে, যা বর্তমানে ক্রেডেনশিয়ালের মধ্যে থাকা ফিল্ডগুলি দেখায়, যা হল যাচাই করা ইমেল।
আপনার অ্যাপে, পরবর্তী অ্যাপ স্ক্রিনে যাওয়ার জন্য আপনি এই তথ্য ব্যবহার করতে পারবেন, যেমন পাসকী তৈরি করা বা অ্যাকাউন্ট তৈরি করার অন্যান্য ধাপ।
ব্যবহারকারীর জন্য, এটি সম্মতি দেওয়া এবং তারপরে পরবর্তী স্ক্রিনে যাওয়ার মতোই সহজ।
আপনি এটি ব্যবহার করে দেখতে চাইলে, আমাদের GitHub স্যাম্পেলে গিয়ে নিজের ডিভাইসে এটি ইনস্টল করতে পারেন।
এটি কোনও ফিজিক্যাল ডিভাইসে ব্যবহার করার চেষ্টা করুন এবং মনে রাখবেন যে আপনার ডিভাইসে অন্তত একটি Gmail অ্যাকাউন্টে সাইন-ইন করতে হবে।
তাই, লোকজন আগ্রহী হলে আমি আরও কিছুটা সময় দেব।
ঠিক আছে।
শুনেই দারুণ লাগছে, তাই না?
আর ইমেল যাচাইকরণের কথা ভাবলে, ব্যবহারকারী যাচাইকরণের পরবর্তী কোন ফর্মের কথা আপনার মাথায় আসে?
ঠিক তাই, ফোন নম্বর যাচাইকরণ।
এছাড়াও, ডিজিটাল ক্রেডেনশিয়াল API নেটিভভাবে ফোন নম্বর যাচাইকরণকে সমর্থন করে, যা এসএমএস ওটিপির ঘর্ষণ এবং দুর্বলতাকে দূর করে।
ফোন নম্বর যাচাইকরণ প্রক্রিয়াও Digital Credentials API-এর মাধ্যমে কাজ করে এবং এই ক্ষেত্রে, ডিভাইসে থাকা ফোন নম্বরটি ডিজিটাল ক্রেডেনশিয়াল হিসেবে অনুরোধ করা এবং উপস্থাপন করা হয়।
ব্যবহারকারী অ্যাপের মধ্যেই থেকে তার ফোন নম্বর শেয়ার বা যাচাই করার জন্য শুধুমাত্র পরিচিত ক্রেডেনশিয়াল ম্যানেজার স্ক্রিনের নিচে অ্যাটাচ করা শিট দেখতে পান এবং যাচাইকরণ সম্পূর্ণ করতে শুধুমাত্র কয়েকটি ট্যাপের প্রয়োজন হয়।
এখানে, আপনি একটি উদাহরণ অ্যাপ দেখতে পাবেন যেখানে গ্রাহক অ্যাপ থেকে না বেরিয়েই একটি ট্যাপের মাধ্যমে তার ফোন নম্বর শেয়ার করতে পারবেন।
তাহলে, এই সেট-আপ কীভাবে কাজ করে?
আমরা যদি এটিকে ডিজিটাল ক্রেডেনশিয়াল পার্টির সাথে ম্যাপ করি, তাহলে এই ক্ষেত্রে ইস্যুকারী হল ডিভাইসের সিম কার্ডে থাকা ফোন নম্বরের টেলিফোন পরিষেবা প্রদানকারী এবং হোল্ডার হল Android Telephony।
আপনার অ্যাপের মতো কোনও যাচাইকারী ব্যবহারকারীর ফোন নম্বর চাইলে, সেটি Google Telephony থেকে Digital Credentials API কলের মাধ্যমে পাওয়া যায়।
বিলিং কীভাবে কাজ করে তা নিয়ে আপনার মনে প্রশ্ন থাকতে পারে।
এই ফ্লোতে একটি অতিরিক্ত ধাপ আছে যা অনন্য, যেখানে বিলিংয়ের উদ্দেশ্যে আপনার ক্রেডেনশিয়াল আপনার পরিষেবা প্রদানকারী বা অ্যাগ্রিগেটরকে পাস করা হয়।
Google Telephony থেকে ফোন নম্বর পাওয়ার পরে এটি হয়, যেখানে এটি এনক্রিপ্ট করা অবস্থায় স্টোর করা থাকে।
এটি তারপর পরিষেবা প্রদানকারীর কাছে পাঠানো হয়, যা ডিক্রিপ্ট করে এবং সরাসরি আপনার অ্যাপের ব্যাক এন্ডে ফোন নম্বর ফেরত পাঠায়, যার জন্য আপনাকে বিল করা হয়।
এর সবচেয়ে ভালো দিক হল, পরিষেবা প্রদানকারী শুধুমাত্র সফল যাচাইকরণের জন্য চার্জ করবে, যা ডেটা বা ওয়াই-ফাইয়ের মাধ্যমে ট্রান্সফার করা হয় এবং এসএমএসের চেয়ে অনেক বেশি নির্ভরযোগ্য।
এখানে, আমরা Firebase-কে ক্যারিয়ার অ্যাগ্রিগেটর হিসেবে ব্যবহার করে, ফোন নম্বর যাচাইকরণের একটি ডেমো দেখিয়েছি।
সাইন-ইন প্রসেসের অংশ হিসেবে অ্যাপটি ব্যবহারকারীর ফোন নম্বর চায়।
এই ব্যবহারকারীর একাধিক সিম কার্ড আছে এবং অ্যাপের সাথে শেয়ার করার জন্য একটি বেছে নেন।
ব্যবহারকারী তার পছন্দ কনফার্ম করলে, ব্যাকগ্রাউন্ডে এক্সচেঞ্জ হয়ে যায়।
তারপর, আপনি পরবর্তী স্ক্রিনে ফিরে পাওয়া ফোন নম্বর দেখতে পাবেন।
ব্যবহারকারীকে কখনই অ্যাপ থেকে বেরিয়ে আসতে হয়নি এবং মাত্র কয়েকটি ট্যাপের মাধ্যমে, নির্বিঘ্নে প্রসেসটি সম্পূর্ণ করার জন্য, তাকে শুধু শেয়ার করার জন্য ফোন নম্বর বেছে নিতে এবং কনফার্ম করতে হয়েছে।
এটি শেষ হতে দিন যাতে আপনি আরও একবার সম্পূর্ণ হওয়া দেখতে পারেন।
তাই আপনি সেই চূড়ান্ত স্ক্রিনে ফোন নম্বর দেখতে পান।
আর এইটুকুই।
আজ আমরা অনেক কিছু কভার করেছি।
আপনার পাসকী প্রয়োগের অভিজ্ঞতা উন্নত করতে এবং পাসওয়ার্ডহীন দুনিয়ায় পা রাখতে, আমরা প্রথমে ক্রেডেনশিয়াল ম্যানেজার ব্যবহার করার কথা ভেবেছিলাম।
আরও জানতে এবং আমাদের স্যাম্পেল অ্যাপে অ্যাক্সেস পেতে, ক্রেডেনশিয়াল ম্যানেজার এবং পাসকী সংক্রান্ত আমাদের রিসোর্স এখানে দেখুন।
এরপর, আমরা আপনার অ্যাপের জন্য আসন্ন জিরো-ট্যাপ সাইন-ইন সংক্রান্ত প্রয়োজনীয়তা কভার করেছি যা আপনার ব্যবহারকারীদের জন্য নতুন ডিভাইস সেট-আপ করার সময় সাইন-ইন করা সহজ করে তোলে।
এটি ২০২৭ সালের এপ্রিল মাসের মধ্যে Play Store-এ বাধ্যতামূলক করা হবে, তাই আপনার ক্যালেন্ডারে এটি নোট করে রাখুন।
সবশেষে, আমরা ডিজিটাল ক্রেডেনশিয়াল কীভাবে কাজ করে এবং Android-এ এর সবচেয়ে উপযোগী কিছু ফিচার নিয়ে আলোচনা করেছি।
কন্টেন্ট সম্পর্কে আরও গভীরে জানতে এবং আমাদের স্যাম্পেল অ্যাক্সেস করতে, এখানে ডিজিটাল ক্রেডেনশিয়াল সংক্রান্ত রিসোর্স দেখুন।
আজ আমরা যা কিছু শেয়ার করেছি তা লাইভ এবং আপনার জন্য তৈরি।
Android-এ পরিচয় যাচাই করার ভবিষ্যৎ এখন হাতের মুঠোয় এবং আগের চেয়ে আরও বেশি রোমাঞ্চকর।
সময় দেওয়ার জন্য ধন্যবাদ, আমি জানি এখন লাঞ্চের সময়, তাই বাইরে খাবার উপভোগ করুন।
আর পাসকী বা ডিজিটাল ক্রেডেনশিয়াল সম্পর্কে কোনও প্রশ্ন থাকলে আমাকে বা টমকে জিজ্ঞাসা করতে দ্বিধা করবেন না।
চিয়ার্স।
val createPublicKeyCredentialRequest = CreatePublicKeyCredentialRequest(
requestJson = registerRequestJson
)
val createCredentialResponse = credentialManager.createCredential (
context = localActivity,
request = createPublicKeyCredentialRequest
)val getPublicKeyCredentialOption = GetPublicKeyCredentialOption(
requestJson = authenticationRequestJson
)
val signInRequest =
GetCredentialRequest(listOf(getPublicKeyCredentialOption))
val result = credentialManager.getCredential (
context = localActivity,
request = signInRequest
)val createPublicKeyCredentialRequest = CreatePublicKeyCredentialRequest(
requestJson = registerRequestJson,
preferImmediatelyAvailableCredentials = false,
isConditional = true
)
val createCredentialResponse = credentialManager.createCredential (
context = localActivity,
request = createPublicKeyCredentialRequest
)