প্রকাশিত: ৩ অক্টোবর, ২০২৫
আমরা আনন্দের সাথে ঘোষণা করছি যে ডিজিটাল ক্রেডেনশিয়ালস API এখন Chrome 141 থেকে ডিফল্টরূপে সক্রিয় করা হয়েছে। এছাড়াও, iOS 26 Chrome এবং অন্যান্য ব্রাউজারগুলিতে ডিজিটাল ক্রেডেনশিয়ালস API-এর জন্য সমর্থন যোগ করে। এই API ওয়েবে পরিচয় যাচাইকরণে একটি নতুন স্তরের নিরাপত্তা এবং গোপনীয়তা নিয়ে আসে, যা ওয়েবসাইটগুলিকে ব্যবহারকারীদের কাছ থেকে যাচাইযোগ্য তথ্য অনুরোধ এবং গ্রহণ করার জন্য একটি মানসম্মত উপায় সক্ষম করে।
একটি সফল অরিজিন ট্রায়ালের পর, ডিজিটাল ক্রেডেনশিয়ালস API এখন অ্যান্ড্রয়েডে একই ডিভাইসের ক্রেডেনশিয়াল উপস্থাপনা এবং ডেস্কটপ ক্রোমে ক্রস-ডিভাইস উপস্থাপনা উভয়কেই সমর্থন করে।
পটভূমি
অনলাইনে পরিচয় যাচাই করা এখন পর্যন্ত একটি জটিল প্রক্রিয়া, যার ফলে ব্যবহারকারীদের প্রায়শই তাদের আইডির স্ক্যান আপলোড করতে হয়। এই পদ্ধতির ফলে প্রায়শই প্রয়োজনের চেয়ে বেশি ডেটা ভাগ করে নেওয়া হয়, যা ব্যবহারকারীদের জন্য উল্লেখযোগ্য গোপনীয়তা উদ্বেগ তৈরি করে। ডেভেলপারদের জন্য, এটি ঝুঁকিও তৈরি করে, কারণ তাদের অবশ্যই নিশ্চিত করতে হবে যে তাদের সমাধানটি প্রায়শই অ-অভিন্ন সংবেদনশীল ডেটা নিরাপদ এবং গোপনীয়তা-সংরক্ষণকারী উপায়ে প্রক্রিয়াকরণ এবং সংরক্ষণ করতে সক্ষম।
একই সাথে, eIDAS 2.0 এর মতো প্রবিধানগুলি সরকারকে জনসাধারণকে ডিজিটাল শনাক্তকরণের উপায় সরবরাহ করতে বাধ্য করছে। এই ডিজিটাল পরিচয় ওয়ালেটগুলিতে পরিচয় এবং বয়সের প্রমাণ সহ বিভিন্ন শংসাপত্র থাকতে হবে। অনলাইন পরিষেবা প্রদানকারীরা ব্যবহারকারীর পরিচয় যাচাই করার জন্য এই শংসাপত্রগুলির জন্য অনুরোধ করতে পারে।
ডিজিটাল ক্রেডেনশিয়ালের ব্যবহারকারীর গোপনীয়তার চাহিদা এবং ব্যবহারকারীর ডেটা যাচাই করার জন্য ডেভেলপারদের প্রয়োজনীয়তা উভয়ই পূরণের সম্ভাবনাকে স্বীকৃতি দিয়ে, W3C-এর ওয়েব স্ট্যান্ডার্ডস কমিউনিটি একটি সমাধান তৈরি করেছে: ডিজিটাল ক্রেডেনশিয়ালস API । ডিজিটাল ক্রেডেনশিয়ালস API ব্যবহারকারীর তথ্য যাচাইয়ের জন্য একটি অন্তর্নির্মিত ইন্টারফেস প্রবর্তন করে সমস্যাটি সমাধানের লক্ষ্য রাখে, যা বিকল্পগুলির তুলনায় নিরাপত্তা, গোপনীয়তা এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করে। এই API-এর সাহায্যে, ব্যবহারকারীদের আর একাধিক ওয়েবসাইটে আইডি স্ক্যানের মতো সংবেদনশীল নথি আপলোড করার প্রয়োজন নেই। পরিবর্তে, ওয়েবসাইটগুলি বিশ্বস্ত ইস্যুকারীদের কাছ থেকে তাদের প্রয়োজনীয় নির্দিষ্ট, ক্রিপ্টোগ্রাফিকভাবে স্বাক্ষরিত ডেটা অনুরোধ করে তাদের ব্যবহারকারীদের সাথে আস্থা তৈরি করতে পারে।
মূল বৈশিষ্ট্য
ডিজিটাল ক্রেডেনশিয়ালস এপিআই তিনটি মূল নীতির উপর নির্মিত: গোপনীয়তা, ক্রস-প্ল্যাটফর্ম সমর্থন এবং মানসম্মতকরণ।
গোপনীয়তা
ডিজিটাল ক্রেডেনশিয়ালস এপিআই অনলাইন গোপনীয়তা এবং নিরাপত্তা বৃদ্ধি করে। এটি ব্যবহারকারীদের তাদের মোবাইল ওয়ালেট থেকে একটি ডিজিটাল আইডি ওয়েবসাইটগুলিতে উপস্থাপন করার অনুমতি দেয় যাতে অন্তর্নিহিত সংবেদনশীল তথ্য প্রকাশ না করেই নির্দিষ্ট তথ্য যাচাই করা যায়। উদাহরণস্বরূপ, এপিআই একজন ব্যবহারকারীর পূর্ণ জন্ম তারিখ প্রকাশ না করেই ১৮ বছরের বেশি বয়সী তা যাচাই করতে পারে। "নির্বাচিত প্রকাশ" এর এই নীতি নিশ্চিত করে যে ওয়েবসাইটগুলি কেবলমাত্র প্রয়োজনীয় ন্যূনতম তথ্য পায়।
ডিজিটাল ক্রেডেনশিয়ালস এপিআই জিরো নলেজ প্রুফস (জেডকেপি) প্রোটোকলের সাথেও সামঞ্জস্যপূর্ণ, যেমন গুগলের লংফেলো জেডকে, যা অন্য কোনও তথ্য প্রকাশ না করেই একটি নির্দিষ্ট পরিচয়ের দাবি সত্য বলে একটি ক্রিপ্টোগ্রাফিক প্রমাণ প্রদান করে ব্যবহারকারীর গোপনীয়তা নিশ্চিত করে।
ক্রস-প্ল্যাটফর্ম সাপোর্ট
ডিজিটাল ক্রেডেনশিয়ালস এপিআই-এর লক্ষ্য বিভিন্ন প্ল্যাটফর্মকে সমর্থন করা, যাতে ব্যবহারকারীরা বিভিন্ন ডিভাইসে যাচাইকৃত তথ্য সুবিধাজনকভাবে উপস্থাপন করতে পারেন।
অ্যান্ড্রয়েডে: একটি অন্তর্নির্মিত ব্যবহারকারী ইন্টারফেস প্রদান করে, যা ব্যবহারকারীদের তাদের ইনস্টল করা ওয়ালেট অ্যাপ থেকে শংসাপত্র নির্বাচন করতে দেয়।
ডেস্কটপে: ব্যবহারকারীরা তাদের মোবাইল ওয়ালেট থেকে তাদের ডেস্কটপ ব্রাউজারে একটি ওয়েবসাইটে ক্রেডেনশিয়াল উপস্থাপন করতে পারেন। একটি QR কোড স্ক্যান করে, সিস্টেমটি ডেস্কটপ এবং মোবাইল ডিভাইসের মধ্যে একটি নিরাপদ, এন্ড-টু-এন্ড এনক্রিপ্টেড এবং ফিশিং-প্রতিরোধী সংযোগ স্থাপন করে। এই সংযোগটি BLE এর মাধ্যমে ব্যবহারকারীর নৈকট্য যাচাই করার জন্য CTAP প্রোটোকল ব্যবহার করে, নিশ্চিত করে যে তারা শারীরিকভাবে উপস্থিত এবং উভয় ডিভাইসের নিয়ন্ত্রণে রয়েছে।
মানীকরণ
ইন্টারঅপারেবিলিটি গুরুত্বপূর্ণ। ক্রোমে, ডিজিটাল ক্রেডেনশিয়ালস API প্রোটোকল প্ল্যাটফর্ম-স্বাধীন এবং বিভিন্ন উপস্থাপনা প্রোটোকলের সাথে সামঞ্জস্যপূর্ণ, উদাহরণস্বরূপ, OpenID4VP এবং ISO 18013-7 এর অ্যানেক্স সি । অ্যাপল Safari 26.0 থেকে ডিজিটাল ক্রেডেনশিয়ালস API-এর জন্য সমর্থনও চালু করেছে।
অতিরিক্তভাবে, ডিজিটাল ক্রেডেনশিয়ালস এপিআই অ্যান্ড্রয়েডে অন্তর্নির্মিত ক্রেডেনশিয়াল ম্যানেজমেন্ট সাপোর্ট এবং সামঞ্জস্যপূর্ণ ওয়ালেটের ক্রমবর্ধমান ইকোসিস্টেমের উপর ভিত্তি করে তৈরি। গুগল ওয়ালেট প্রাথমিকভাবে গ্রহণকারী, স্যামসাং ওয়ালেট এবং 1পাসওয়ার্ডের সমর্থনের পথে।
অরিজিন ট্রায়ালের পর থেকে নতুন কী?
যারা আমাদের পূর্ববর্তী অরিজিন ট্রায়ালে অংশগ্রহণ করেছিলেন, আপনি লক্ষ্য করবেন যে ডিজিটাল ক্রেডেনশিয়ালস API navigator.identity.get() থেকে navigator.credentials.get() এ স্থানান্তরিত হয়েছে, এটি Credential Management API এর সাথে বৃহত্তর পরিচয় একীকরণ প্রচেষ্টার সাথে সারিবদ্ধ হয়েছে। অতিরিক্তভাবে, providers প্যারামিটারটির নাম requests রাখা হয়েছে, এবং request নাম data রাখা হয়েছে।
বাস্তবায়ন
ডিজিটাল ক্রেডেনশিয়ালস এপিআই ইন্টিগ্রেট করার দুটি প্রধান ধাপ রয়েছে: বৈশিষ্ট্য সনাক্তকরণ এবং ক্রেডেনশিয়ালের অনুরোধ করা। ডেভেলপারদের তাদের অ্যাপ্লিকেশন ক্রেডেনশিয়াল ব্যবহার করতে পারে কিনা তা নির্ধারণ করার জন্য কাস্টম লজিকও প্রয়োগ করা উচিত।
বৈশিষ্ট্য সনাক্তকরণ
"Verify with Digital Credential" বোতামটি দেখানোর আগে, ব্যবহারকারীর ব্রাউজারে Digital Credentials API উপলব্ধ কিনা তা পরীক্ষা করে দেখুন।
if (typeof DigitalCredential !== "undefined") {
// Digital Credentials API is supported
} else {
// Digital Credentials API is not supported
}
একটি শংসাপত্রের জন্য অনুরোধ করুন
একটি শংসাপত্রের অনুরোধ করার জন্য একটি digital প্যারামিটার সহ navigator.credentials.get() এ কল করতে হবে। ডিজিটাল শংসাপত্রের ধরণের মধ্যে, একটি requests অ্যারে যুক্ত করুন যাতে নিম্নলিখিত মৌলিক প্যারামিটার সহ DigitalCredentialGetRequest থাকে:
protocol: একটি স্ট্রিং সহ একটি এক্সচেঞ্জ প্রোটোকল নির্দিষ্ট করুন। উদাহরণস্বরূপ,"openid4vp"অথবা"org-iso-mdoc"। প্রোটোকলটি ব্রাউজার দ্বারা সমর্থিত কিনা তা নিম্নরূপ সনাক্ত করুন:if (DigitalCredential.userAgentAllowsProtocol("example-protocol")) { // Create a request with this protocol } else { // Protocol is not supported }data: নির্দিষ্ট প্রোটোকলের জন্য ডিজিটাল ওয়ালেট অ্যাপগুলি যে প্যারামিটারগুলি গ্রহণ করে তার একটি অবজেক্ট ।"openid4vp"এর জন্য, W3C ডিজিটাল ক্রেডেনশিয়াল API স্পেসিফিকেশনের জন্য যাচাইযোগ্য উপস্থাপনা (OID4VP) এর জন্য OpenID- তে প্যারামিটারগুলি সংজ্ঞায়িত করা হয়।try { const digitalCredential = await navigator.credentials.get({ digital: { requests: [{ protocol: "openid4vp-v1-unsigned", data: { response_type: "vp_token", nonce: "[some-nonce]", client_metadata: {...}, dcql_query: {...} } }] } }); // Decrypt payload respons and verify credentials on the backend const response = await fetch("/verify", { method: "POST", body: JSON.stringify(digitalCredential.data), headers: { 'Content-Type': 'application/json' } }); } catch (e) { // Handle errors, such as the user canceling the request console.error(e); }
উদাহরণস্বরূপ, ব্যবহারকারীর পরিবারের নাম, প্রদত্ত নাম এবং ব্যবহারকারীর বয়স ২১ বছরের বেশি কিনা তা নির্দেশ করে এমন একটি বুলিয়ান মান অনুরোধ করতে, আপনি নিম্নলিখিত পেলোড নির্দিষ্ট করতে পারেন:
{
protocol: 'openid4vp-v1-unsigned',
data: {
response_type: 'vp_token',
nonce: '[some-nonce]',
// Contains the Verifier metadata values, including supported credential formats and response encryption public key
client_metadata: {
// Supported credential formats. Refer to the documentation for specific values
vp_formats_supported: {...},
// Public key(s). Refer to the documentation for more detail.
jwks: {...}
},
dcql_query: {
// A wallet will try to find credentials it holds that match these definitions.
credentials: [
{
// A locally unique identifier for this credential definition within the query.
id: "cred_vc",
format: "dc+sd-jwt",
meta: {
// 'vct_values' specifies the Verifiable Credential allowed type.
// In this case, it's a European Digital Identity (EUDI) Personal Identification Data (PID) credential.
vct_values: [
"urn:eudi:pid:1"
]
},
// 'claims' is an array of specific data that's being requested.
claims: [
{
// The path ["age_equal_or_over", "18"] corresponds to accessing `credential.age_equal_or_over['18']`.
path: [
"age_equal_or_over",
"18"
]
}
]
}
]
}
}
}
এই উদাহরণে, client_metadata সমর্থিত ফর্ম্যাটের একটি তালিকা নির্দিষ্ট করতে হবে। কোন মানগুলি ব্যবহার করা যেতে পারে তা দেখতে স্পেসিফিকেশনটি দেখুন। client_metadata তে সেট করা ঐচ্ছিক jwks মানটিতে প্রতিক্রিয়া এনক্রিপশনের জন্য ব্যবহৃত পাবলিক কী থাকতে হবে। আরও উদাহরণের জন্য আপনি ডেমো কোডটিও পরীক্ষা করতে পারেন।
এখানে একটি ডিজিটালক্রেডেনশিয়াল অবজেক্ট এনক্রিপ্টেড রেসপন্স পেলোডের একটি উদাহরণ দেওয়া হল:
{
// This is an example for a response using an OpenID4VP protocol.
// The format of the 'data' object will differ for other protocols.
"protocol": "openid4vp-v1-unsigned",
"data": {
// To decrypt this JWE payload, use the private key.
// The decrypted payload will be a JSON object containing the
// Verifiable Presentation in the 'vp_token' claim.
"response": "[jwe-token]"
}
}
এই উদাহরণে, সিস্টেমটি openid4vp-v1-unsigned প্রোটোকলের সাহায্যে শংসাপত্রের অনুরোধ করে এবং প্রতিক্রিয়াটিতে data সম্পত্তিতে response থাকে।
প্রতিক্রিয়া বিশ্লেষণের সঠিক পদ্ধতি প্রোটোকলের উপর নির্ভর করে। সাধারণত আপনার প্রয়োজন:
- রেসপন্স পেলোড ডিক্রিপ্ট করুন । ডিক্রিপশন পদ্ধতি ব্যবহৃত প্রোটোকলের উপর নির্ভর করে।
openid4vp(JWE ব্যবহার করে) এবংorg-iso-mdoc(হাইব্রিড পাবলিক কী এনক্রিপশন ব্যবহার করে) এর জন্য পেলোড কীভাবে ডিক্রিপ্ট করবেন তা দেখুন। - স্বাক্ষর এবং ইস্যুকারী যাচাই করুন । আরও বিস্তারিত জানার জন্য ডিজিটাল শংসাপত্রের অনলাইন গ্রহণযোগ্যতা ডকুমেন্টেশন দেখুন।
বিভিন্ন প্রোটোকলের কোড নমুনা দেখতে, ডেমো অথবা লাইভ হোস্টেড ভার্সনের কোডটি দেখুন।
ইস্যুকারীর উপর আস্থা যাচাই করুন
ডিজিটাল শংসাপত্রের ক্রিপ্টোগ্রাফিক স্বাক্ষর প্রমাণ করে যে শংসাপত্রটি খাঁটি। তবে, ডেভেলপারদের অবশ্যই যাচাই করতে হবে যে ইস্যুকারী তাদের নির্দিষ্ট ব্যবহারের ক্ষেত্রে উপযুক্ত এবং বিশ্বস্ত। উদাহরণস্বরূপ, একজন বিশ্ববিদ্যালয়ের শিক্ষার্থীকে ছাড় দেওয়ার জন্য, একটি ই-কমার্স সাইটের জন্য একটি স্বীকৃত বিশ্ববিদ্যালয় দ্বারা জারি করা একটি শংসাপত্রের প্রয়োজন হবে এবং অন্য কোনও সত্তা দ্বারা স্বাক্ষরিত একটি শংসাপত্র প্রত্যাখ্যান করবে। ইস্যুকারীর উপর আস্থা যাচাই করার একটি সাধারণ উপায় হল অনুমোদিত ইস্যুকারীর একটি তালিকা বজায় রাখা এবং যে কোনও ইস্যুকারীর সাথে মেলে না তা প্রত্যাখ্যান করা।
শুরু করুন
নির্মাণ শুরু করতে প্রস্তুত? আপনার যা জানা দরকার তা এখানে।
- উপলব্ধতা: Chrome 141 বা তার পরবর্তী সংস্করণ বিভিন্ন প্ল্যাটফর্ম জুড়ে ডিফল্টরূপে ডিজিটাল ক্রেডেনশিয়াল API সক্ষম করে।
- পূর্বশর্ত: ব্যবহারকারীদের একটি সামঞ্জস্যপূর্ণ ডিভাইস প্রয়োজন, উদাহরণস্বরূপ, অ্যান্ড্রয়েড চলমান গুগল প্লে পরিষেবা সংস্করণ 24.0 বা উচ্চতর, অথবা একটি iOS ডিভাইস 26 বা উচ্চতর সংস্করণ চলমান। ডিভাইসটিতে একটি ইনস্টল করা ডিজিটাল ওয়ালেট অ্যাপ্লিকেশন থাকতে হবে যা ডিজিটাল ক্রেডেনশিয়াল API সমর্থন করে, উদাহরণস্বরূপ, গুগল ওয়ালেট বা একটি ডেমো ওয়ালেট ।
- ডেমোটি চেষ্টা করে দেখুন: ব্যবহারকারীর অভিজ্ঞতা বোঝার এবং আপনার বাস্তবায়ন পরীক্ষা করার সর্বোত্তম উপায় হল https://verifier.multipaz.org- এ Chrome 141 বা তার পরবর্তী সংস্করণের সাথে লাইভ ডেমোটি চেষ্টা করে দেখা।
রিসোর্স
আরও তথ্যের জন্য, নিম্নলিখিত সম্পদগুলি দেখুন:
- ডেভেলপার গাইড: ডিজিটাল ক্রেডেনশিয়াল API
- স্পেসিফিকেশন: W3C ডিজিটাল শংসাপত্র
- অ্যান্ড্রয়েড সাপোর্ট: ডিজিটাল শংসাপত্রের অ্যান্ড্রয়েড সাপোর্ট
আপনার মতামত শেয়ার করুন
এখন যেহেতু ডিজিটাল ক্রেডেনশিয়ালস এপিআই পাঠানো হয়েছে, আমরা এটির সাথে আপনার অভিজ্ঞতা তৈরির বিষয়ে শুনতে চাই। আপনার প্রতিক্রিয়া জানাতে বা কোনও বাগ রিপোর্ট করতে একটি সমস্যা দায়ের করুন ।