Android এর জন্য FIDO2 API, Android এর জন্য FIDO2 API

FIDO2 API অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলিকে ব্যবহারকারীদের প্রমাণীকরণের উদ্দেশ্যে শক্তিশালী, সত্যায়িত পাবলিক কী-ভিত্তিক শংসাপত্র তৈরি এবং ব্যবহার করার অনুমতি দেয়৷ API একটি WebAuthn ক্লায়েন্ট বাস্তবায়ন প্রদান করে, যা BLE, NFC, এবং USB রোমিং অথেনটিকেটর (নিরাপত্তা কী) এর পাশাপাশি একটি প্ল্যাটফর্ম প্রমাণীকরণকারীর ব্যবহার সমর্থন করে, যা ব্যবহারকারীকে তাদের আঙ্গুলের ছাপ বা স্ক্রিনলক ব্যবহার করে প্রমাণীকরণ করতে দেয়।

মিশ্রণ

FIDO2 API এন্ট্রি পয়েন্ট হল Fido2ApiClient

API দুটি অপারেশন সমর্থন করে:

  • নিবন্ধন প্রতি অ্যাকাউন্ট প্রতি প্রমাণীকরণকারী একবার করা হয়, যখন ব্যবহারকারী একটি অ্যাকাউন্টের সাথে একটি প্রমাণীকরণকারীকে সংযুক্ত করে।
  • যখনই নির্ভরকারী পক্ষ একজন ব্যবহারকারীকে প্রমাণীকরণ করতে চায় তখন স্বাক্ষর করা হয়।

নিবন্ধন এবং স্বাক্ষর উভয়ই ব্যবহারকারীর মিথস্ক্রিয়া প্রয়োজন।

API ব্যবহার প্রদর্শনকারী একটি নমুনা অ্যাপ্লিকেশন https://github.com/android/security-samples/tree/master/Fido এ পাওয়া যাবে।

আপনার ওয়েবসাইটের সাথে ইন্টারঅপারেবিলিটি

ব্যবহারকারীদের আপনার ওয়েবসাইট এবং অ্যান্ড্রয়েড অ্যাপ্লিকেশন জুড়ে নির্বিঘ্নে শংসাপত্রগুলি ভাগ করার অনুমতি দেওয়া সহজ৷ এটি করতে, ডিজিটাল অ্যাসেট লিঙ্কগুলি ব্যবহার করুন৷ আপনি আপনার ওয়েবসাইটে একটি ডিজিটাল সম্পদ লিঙ্ক JSON ফাইল হোস্ট করে এবং আপনার অ্যাপের ম্যানিফেস্টে ডিজিটাল সম্পদ লিঙ্ক ফাইলে একটি লিঙ্ক যোগ করে অ্যাসোসিয়েশন ঘোষণা করতে পারেন।

উদাহরণস্বরূপ, আপনি যদি একটি Android অ্যাপ com.example.android এর সাথে https://example.com যুক্ত করতে চান, তাহলে এখানে 3টি প্রয়োজনীয় পদক্ষেপ রয়েছে:

ধাপ 1. আপনার ডোমেনে assetlinks.json হোস্ট করুন

এইরকম একটি JSON ফাইল তৈরি করুন এবং এটি https://example.com/.well-known/assetlinks.json এ হোস্ট করুন।

[
  {
    "relation" : [
      "delegate_permission/common.handle_all_urls",
      "delegate_permission/common.get_login_creds"
    ],
    "target" : {
      "namespace" : "web",
      "site" : "https://example.com"
    }
  },
  {
    "relation" : [
      "delegate_permission/common.handle_all_urls",
      "delegate_permission/common.get_login_creds"
    ],
    "target" : {
      "namespace" : "android_app",
      "package_name" : "com.example.android",
      "sha256_cert_fingerprints" : [
         "DE:AD:BE:EF"
      ]
    }
  }
]

নিশ্চিত করুন যে এটি Google থেকে ক্রলযোগ্য এবং HTTP শিরোনাম Content-Type: application/json এর সাথে পরিবেশন করা হয়েছে।

sha256_cert_fingerprints হল আপনার অ্যাপের সাইনিং সার্টিফিকেটের SHA256 ফিঙ্গারপ্রিন্ট। অ্যান্ড্রয়েড অ্যাপ লিঙ্ক ডকুমেন্টেশনে আরও বিশদ খুঁজুন।

আপনার অ্যান্ড্রয়েড অ্যাপে, <application> এর অধীনে ম্যানিফেস্ট ফাইলে নিম্নলিখিত লাইনটি যোগ করুন:

<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />

ধাপ 3. strings.xml ফাইলে একটি asset_statements স্ট্রিং রিসোর্স যোগ করুন

asset_statements স্ট্রিং হল একটি JSON অবজেক্ট যা assetlinks.json ফাইলগুলিকে লোড করার জন্য নির্দিষ্ট করে৷ স্ট্রিং-এ আপনি যে কোনো অ্যাপোস্ট্রফিস এবং উদ্ধৃতি চিহ্ন ব্যবহার করেন তা এড়িয়ে যেতে হবে। উদাহরণ স্বরূপ:

<string name="asset_statements" translatable="false">
[{
  \"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>

আপনার অ্যাপ এবং আপনার ওয়েবসাইট সংযুক্ত করার বিষয়ে আরও জানতে, Android ডকুমেন্টেশনে পাসওয়ার্ডের জন্য SmartLock পড়ুন।

,

FIDO2 API অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলিকে ব্যবহারকারীদের প্রমাণীকরণের উদ্দেশ্যে শক্তিশালী, সত্যায়িত পাবলিক কী-ভিত্তিক শংসাপত্র তৈরি এবং ব্যবহার করার অনুমতি দেয়৷ API একটি WebAuthn ক্লায়েন্ট বাস্তবায়ন প্রদান করে, যা BLE, NFC, এবং USB রোমিং অথেনটিকেটর (নিরাপত্তা কী) এর পাশাপাশি একটি প্ল্যাটফর্ম প্রমাণীকরণকারীর ব্যবহার সমর্থন করে, যা ব্যবহারকারীকে তাদের আঙ্গুলের ছাপ বা স্ক্রিনলক ব্যবহার করে প্রমাণীকরণ করতে দেয়।

মিশ্রণ

FIDO2 API এন্ট্রি পয়েন্ট হল Fido2ApiClient

API দুটি অপারেশন সমর্থন করে:

  • নিবন্ধন প্রতি অ্যাকাউন্ট প্রতি প্রমাণীকরণকারী একবার করা হয়, যখন ব্যবহারকারী একটি অ্যাকাউন্টের সাথে একটি প্রমাণীকরণকারীকে সংযুক্ত করে।
  • যখনই নির্ভরকারী পক্ষ একজন ব্যবহারকারীকে প্রমাণীকরণ করতে চায় তখন স্বাক্ষর করা হয়।

নিবন্ধন এবং স্বাক্ষর উভয়ই ব্যবহারকারীর মিথস্ক্রিয়া প্রয়োজন।

API ব্যবহার প্রদর্শনকারী একটি নমুনা অ্যাপ্লিকেশন https://github.com/android/security-samples/tree/master/Fido এ পাওয়া যাবে।

আপনার ওয়েবসাইটের সাথে ইন্টারঅপারেবিলিটি

ব্যবহারকারীদের আপনার ওয়েবসাইট এবং অ্যান্ড্রয়েড অ্যাপ্লিকেশন জুড়ে নির্বিঘ্নে শংসাপত্রগুলি ভাগ করার অনুমতি দেওয়া সহজ৷ এটি করতে, ডিজিটাল অ্যাসেট লিঙ্কগুলি ব্যবহার করুন৷ আপনি আপনার ওয়েবসাইটে একটি ডিজিটাল সম্পদ লিঙ্ক JSON ফাইল হোস্ট করে এবং আপনার অ্যাপের ম্যানিফেস্টে ডিজিটাল সম্পদ লিঙ্ক ফাইলে একটি লিঙ্ক যোগ করে অ্যাসোসিয়েশন ঘোষণা করতে পারেন।

উদাহরণস্বরূপ, আপনি যদি একটি Android অ্যাপ com.example.android এর সাথে https://example.com যুক্ত করতে চান, তাহলে এখানে 3টি প্রয়োজনীয় পদক্ষেপ রয়েছে:

ধাপ 1. আপনার ডোমেনে assetlinks.json হোস্ট করুন

এইরকম একটি JSON ফাইল তৈরি করুন এবং এটি https://example.com/.well-known/assetlinks.json এ হোস্ট করুন।

[
  {
    "relation" : [
      "delegate_permission/common.handle_all_urls",
      "delegate_permission/common.get_login_creds"
    ],
    "target" : {
      "namespace" : "web",
      "site" : "https://example.com"
    }
  },
  {
    "relation" : [
      "delegate_permission/common.handle_all_urls",
      "delegate_permission/common.get_login_creds"
    ],
    "target" : {
      "namespace" : "android_app",
      "package_name" : "com.example.android",
      "sha256_cert_fingerprints" : [
         "DE:AD:BE:EF"
      ]
    }
  }
]

নিশ্চিত করুন যে এটি Google থেকে ক্রলযোগ্য এবং HTTP শিরোনাম Content-Type: application/json এর সাথে পরিবেশন করা হয়েছে।

sha256_cert_fingerprints হল আপনার অ্যাপের সাইনিং সার্টিফিকেটের SHA256 ফিঙ্গারপ্রিন্ট। অ্যান্ড্রয়েড অ্যাপ লিঙ্ক ডকুমেন্টেশনে আরও বিশদ খুঁজুন।

আপনার অ্যান্ড্রয়েড অ্যাপে, <application> এর অধীনে ম্যানিফেস্ট ফাইলে নিম্নলিখিত লাইনটি যোগ করুন:

<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />

ধাপ 3. strings.xml ফাইলে একটি asset_statements স্ট্রিং রিসোর্স যোগ করুন

asset_statements স্ট্রিং হল একটি JSON অবজেক্ট যা assetlinks.json ফাইলগুলিকে লোড করার জন্য নির্দিষ্ট করে৷ স্ট্রিং-এ আপনি যে কোনো অ্যাপোস্ট্রফিস এবং উদ্ধৃতি চিহ্ন ব্যবহার করেন তা এড়িয়ে যেতে হবে। উদাহরণ স্বরূপ:

<string name="asset_statements" translatable="false">
[{
  \"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>

আপনার অ্যাপ এবং আপনার ওয়েবসাইট সংযুক্ত করার বিষয়ে আরও জানতে, Android ডকুমেন্টেশনে পাসওয়ার্ডের জন্য SmartLock পড়ুন।