chrome.identity

বিবরণ

OAuth2 অ্যাক্সেস টোকেন পেতে chrome.identity API ব্যবহার করুন।

অনুমতিসমূহ

identity

প্রকারভেদ

AccountInfo

বৈশিষ্ট্য

  • আইডি

    স্ট্রিং

    অ্যাকাউন্টের জন্য একটি অনন্য শনাক্তকারী। অ্যাকাউন্টের জীবদ্দশায় এই আইডি পরিবর্তন হবে না।

AccountStatus

ক্রোম ৮৪+

এনাম

"সিঙ্ক"
প্রাথমিক অ্যাকাউন্টের জন্য সিঙ্ক সক্ষম করা আছে তা নির্দিষ্ট করে।

"কোনও"
যদি থাকে, তাহলে একটি প্রাথমিক অ্যাকাউন্টের অস্তিত্ব নির্দিষ্ট করে।

GetAuthTokenResult

ক্রোম ১০৫+

বৈশিষ্ট্য

  • grantedScopes সম্পর্কে

    স্ট্রিং[] ঐচ্ছিক

    এক্সটেনশনটিকে মঞ্জুর করা OAuth2 স্কোপের একটি তালিকা।

  • টোকেন

    স্ট্রিং ঐচ্ছিক

    অনুরোধের সাথে সম্পর্কিত নির্দিষ্ট টোকেন।

InvalidTokenDetails

বৈশিষ্ট্য

  • টোকেন

    স্ট্রিং

    ক্যাশে থেকে সরানো উচিত এমন নির্দিষ্ট টোকেন।

ProfileDetails

ক্রোম ৮৪+

বৈশিষ্ট্য

  • অ্যাকাউন্টের অবস্থা

    একটি প্রোফাইলে সাইন ইন করা প্রাথমিক অ্যাকাউন্টের একটি স্থিতি যার ProfileUserInfo ফেরত পাঠানো উচিত। ডিফল্টভাবে SYNC অ্যাকাউন্টের স্থিতি।

ProfileUserInfo

বৈশিষ্ট্য

  • ইমেইল

    স্ট্রিং

    বর্তমান প্রোফাইলে সাইন ইন করা ব্যবহারকারীর অ্যাকাউন্টের জন্য একটি ইমেল ঠিকানা। ব্যবহারকারী সাইন ইন না থাকলে অথবা identity.email ম্যানিফেস্ট অনুমতি নির্দিষ্ট না থাকলে এটি খালি থাকবে।

  • আইডি

    স্ট্রিং

    অ্যাকাউন্টের জন্য একটি অনন্য শনাক্তকারী। অ্যাকাউন্টের আজীবন এই আইডি পরিবর্তন হবে না। ব্যবহারকারী সাইন ইন না থাকলে অথবা (M41+ এ) identity.email ম্যানিফেস্ট অনুমতি নির্দিষ্ট না থাকলে এটি খালি থাকবে।

TokenDetails

বৈশিষ্ট্য

  • হিসাব

    যে অ্যাকাউন্ট আইডির টোকেন ফেরত দেওয়া উচিত। যদি নির্দিষ্ট না করা থাকে, তাহলে ফাংশনটি Chrome প্রোফাইল থেকে একটি অ্যাকাউন্ট ব্যবহার করবে: যদি থাকে তাহলে সিঙ্ক অ্যাকাউন্ট, অথবা অন্যথায় প্রথম Google ওয়েব অ্যাকাউন্ট।

  • গ্রানুলার পারমিশন সক্রিয় করুন

    বুলিয়ান ঐচ্ছিক

    ক্রোম ৮৭+

    enableGranularPermissions ফ্ল্যাগ এক্সটেনশনগুলিকে গ্র্যানুলার অনুমতি সম্মতি স্ক্রিনে আগেভাগে অপ্ট-ইন করার অনুমতি দেয়, যেখানে অনুরোধ করা অনুমতিগুলি পৃথকভাবে মঞ্জুর বা প্রত্যাখ্যান করা হয়।

  • ইন্টারেক্টিভ

    বুলিয়ান ঐচ্ছিক

    টোকেন আনার জন্য ব্যবহারকারীকে Chrome-এ সাইন-ইন করতে হতে পারে, অথবা অ্যাপ্লিকেশনের অনুরোধকৃত স্কোপগুলি অনুমোদন করতে হতে পারে। যদি ইন্টারেক্টিভ ফ্ল্যাগটি true হয়, তাহলে getAuthToken প্রয়োজন অনুসারে ব্যবহারকারীকে প্রম্পট করবে। যখন ফ্ল্যাগটি false বা বাদ দেওয়া হয়, তখন getAuthToken যেকোনও সময় প্রম্পটটি ব্যর্থতা ফিরিয়ে দেবে।

  • স্কোপ

    স্ট্রিং[] ঐচ্ছিক

    অনুরোধ করার জন্য OAuth2 স্কোপের একটি তালিকা।

    যখন scopes ফিল্ডটি উপস্থিত থাকে, তখন এটি manifest.json-এ নির্দিষ্ট করা স্কোপগুলির তালিকাকে ওভাররাইড করে।

WebAuthFlowDetails

বৈশিষ্ট্য

  • abortOnLoadForNonInteractive সম্পর্কে

    বুলিয়ান ঐচ্ছিক

    ক্রোম ১১৩+

    পৃষ্ঠা লোড হওয়ার পরে অ-ইন্টারেক্টিভ অনুরোধগুলির জন্য launchWebAuthFlow বন্ধ করা হবে কিনা। এই প্যারামিটারটি ইন্টারেক্টিভ প্রবাহকে প্রভাবিত করে না।

    যখন true (ডিফল্ট) তে সেট করা হয়, তখন পৃষ্ঠা লোড হওয়ার সাথে সাথেই ফ্লো বন্ধ হয়ে যায়। যখন false তে সেট করা হয়, তখন timeoutMsForNonInteractive পাস হওয়ার পরেই ফ্লো বন্ধ হয়ে যায়। এটি সেই পরিচয় প্রদানকারীদের জন্য কার্যকর যারা পৃষ্ঠা লোড হওয়ার পরে পুনঃনির্দেশনা সম্পাদন করতে জাভাস্ক্রিপ্ট ব্যবহার করে।

  • ইন্টারেক্টিভ

    বুলিয়ান ঐচ্ছিক

    ইন্টারেক্টিভ মোডে প্রমাণীকরণ প্রবাহ চালু করা হবে কিনা।

    যেহেতু কিছু প্রমাণীকরণ প্রবাহ তাৎক্ষণিকভাবে একটি ফলাফল URL-এ পুনঃনির্দেশিত হতে পারে, তাই launchWebAuthFlow তার ওয়েব ভিউ লুকিয়ে রাখে যতক্ষণ না প্রথম নেভিগেশনটি চূড়ান্ত URL-এ পুনঃনির্দেশিত হয়, অথবা প্রদর্শিত হওয়ার জন্য তৈরি একটি পৃষ্ঠা লোড করা শেষ হয়।

    যদি interactive ফ্ল্যাগটি true হয়, তাহলে পৃষ্ঠা লোড সম্পূর্ণ হলে উইন্ডোটি প্রদর্শিত হবে। যদি ফ্ল্যাগটি false হয় বা বাদ দেওয়া হয়, তাহলে প্রাথমিক নেভিগেশন প্রবাহটি সম্পূর্ণ না করলে launchWebAuthFlow একটি ত্রুটি সহ ফিরে আসবে।

    পুনঃনির্দেশের জন্য জাভাস্ক্রিপ্ট ব্যবহার করে এমন ফ্লোগুলির জন্য, পৃষ্ঠাটিকে যেকোনো পুনঃনির্দেশনা সম্পাদনের সুযোগ দেওয়ার জন্য abortOnLoadForNonInteractive timeoutMsForNonInteractive সেট করার সাথে সাথে false এ সেট করা যেতে পারে।

  • টাইমআউটMsForNonInteractive

    সংখ্যা ঐচ্ছিক

    ক্রোম ১১৩+

    launchWebAuthFlow অ-ইন্টারেক্টিভ মোডে চালানোর জন্য সর্বোচ্চ সময়কাল, মিলিসেকেন্ডে। শুধুমাত্র তখনই এটি কার্যকর হবে যখন interactive false হয়।

  • ইউআরএল

    স্ট্রিং

    যে URLটি প্রমাণীকরণ প্রবাহ শুরু করে।

পদ্ধতি

clearAllCachedAuthTokens()

ক্রোম ৮৭+
chrome.identity.clearAllCachedAuthTokens(): Promise<void>

আইডেন্টিটি API-এর অবস্থা রিসেট করে:

  • টোকেন ক্যাশে থেকে সমস্ত OAuth2 অ্যাক্সেস টোকেন সরিয়ে দেয়
  • ব্যবহারকারীর অ্যাকাউন্ট পছন্দগুলি সরিয়ে দেয়
  • ব্যবহারকারীকে সমস্ত প্রমাণীকরণ প্রবাহ থেকে অ-অনুমোদন দেয়

রিটার্নস

  • প্রতিশ্রুতি<অকার্যকর>

    ক্রোম ১০৬+

    একটি প্রতিশ্রুতি প্রদান করে যা রাষ্ট্র পরিষ্কার হয়ে গেলে সমাধান হয়ে যায়।

getAccounts()

ডেভ চ্যানেল
chrome.identity.getAccounts(): Promise<AccountInfo[]>

প্রোফাইলে উপস্থিত অ্যাকাউন্টগুলি বর্ণনা করে AccountInfo অবজেক্টের একটি তালিকা পুনরুদ্ধার করে।

getAccounts শুধুমাত্র ডেভ চ্যানেলে সমর্থিত।

রিটার্নস

getAuthToken()

chrome.identity.getAuthToken(
  details?: TokenDetails,
)
: Promise<GetAuthTokenResult>

manifest.json এর oauth2 বিভাগে নির্দিষ্ট ক্লায়েন্ট আইডি এবং স্কোপ ব্যবহার করে একটি OAuth2 অ্যাক্সেস টোকেন পায়।

আইডেন্টিটি এপিআই মেমোরিতে টোকেন অ্যাক্সেস ক্যাশে করে, তাই যেকোনো সময় টোকেনের প্রয়োজন হলে getAuthToken ইন্টারেক্টিভলি কল করা ঠিক আছে। টোকেন ক্যাশে স্বয়ংক্রিয়ভাবে মেয়াদ শেষ হওয়ার প্রক্রিয়া পরিচালনা করে।

ভালো ব্যবহারকারীর অভিজ্ঞতার জন্য, আপনার অ্যাপে UI দ্বারা ইন্টারেক্টিভ টোকেন অনুরোধগুলি শুরু করা গুরুত্বপূর্ণ, যাতে অনুমোদন কী উদ্দেশ্যে তা ব্যাখ্যা করা হয়। এটি করতে ব্যর্থ হলে আপনার ব্যবহারকারীরা অনুমোদনের অনুরোধ পাবেন, অথবা যদি তারা সাইন ইন না করে থাকেন তবে Chrome সাইন ইন স্ক্রিন পাবেন, কোনও প্রসঙ্গ ছাড়াই। বিশেষ করে, আপনার অ্যাপটি প্রথমবার চালু হওয়ার সময় getAuthToken ইন্টারেক্টিভভাবে ব্যবহার করবেন না।

দ্রষ্টব্য: কলব্যাকের মাধ্যমে কল করা হলে, কোনও অবজেক্ট ফেরত দেওয়ার পরিবর্তে এই ফাংশনটি দুটি বৈশিষ্ট্যকে কলব্যাকে পৃথক আর্গুমেন্ট হিসাবে ফেরত দেবে।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতি< GetAuthTokenResult >

    ক্রোম ১০৫+

    একটি প্রতিশ্রুতি প্রদান করে যা ম্যানিফেস্ট দ্বারা নির্দিষ্ট করা OAuth2 অ্যাক্সেস টোকেন দিয়ে সমাধান করে, অথবা যদি কোনও ত্রুটি থাকে তবে তা প্রত্যাখ্যান করে। grantedScopes প্যারামিটারটি Chrome 87 থেকে পূরণ করা হয়েছে। যখন উপলব্ধ থাকে, তখন এই প্যারামিটারে ফেরত দেওয়া টোকেনের সাথে সম্পর্কিত মঞ্জুরিপ্রাপ্ত স্কোপের তালিকা থাকে।

getProfileUserInfo()

chrome.identity.getProfileUserInfo(
  details?: ProfileDetails,
)
: Promise<ProfileUserInfo>

প্রোফাইলে সাইন ইন করা ব্যবহারকারীর ইমেল ঠিকানা এবং অস্পষ্ট gaia আইডি পুনরুদ্ধার করে।

identity.email ম্যানিফেস্টের অনুমতি প্রয়োজন। অন্যথায়, একটি খালি ফলাফল প্রদান করে।

এই API দুটি দিক দিয়ে identity.getAccounts থেকে আলাদা। ফিরে আসা তথ্য অফলাইনে পাওয়া যাবে এবং এটি শুধুমাত্র প্রোফাইলের প্রাথমিক অ্যাকাউন্টের ক্ষেত্রে প্রযোজ্য।

পরামিতি

রিটার্নস

  • ক্রোম ১০৬+

    প্রাথমিক Chrome অ্যাকাউন্টের ProfileUserInfo দিয়ে সমাধান করা একটি প্রতিশ্রুতি প্রদান করে, অথবা প্রদত্ত details সহ অ্যাকাউন্টটি বিদ্যমান না থাকলে একটি খালি ProfileUserInfo প্রদান করে।

getRedirectURL()

chrome.identity.getRedirectURL(
  path?: string,
)
: string

launchWebAuthFlow এ ব্যবহারের জন্য একটি পুনঃনির্দেশ URL তৈরি করে।

তৈরি করা URL গুলি https://<app-id>.chromiumapp.org/* প্যাটার্নের সাথে মেলে।

পরামিতি

  • পথ

    স্ট্রিং ঐচ্ছিক

    তৈরি করা URL-এর শেষে পাথটি যুক্ত করা হয়েছে।

রিটার্নস

  • স্ট্রিং

launchWebAuthFlow()

chrome.identity.launchWebAuthFlow(
  details: WebAuthFlowDetails,
)
: Promise<string | undefined>

নির্দিষ্ট URL-এ একটি প্রমাণীকরণ প্রবাহ শুরু করে।

এই পদ্ধতিটি একটি ওয়েব ভিউ চালু করে এবং প্রোভাইডার এর প্রোভাইডার এর প্রোভাইডার এর প্রথম URL এ নেভিগেট করে Google এর বাইরের পরিচয় প্রদানকারীদের সাথে প্রোভাইডার এর প্রোভাইডার এর auth প্রবাহ সক্রিয় করে। যখন প্রোভাইডার https://<app-id>.chromiumapp.org/* প্যাটার্নের সাথে মিলে যাওয়া একটি URL এ রিডাইরেক্ট করে, তখন উইন্ডোটি বন্ধ হয়ে যাবে এবং চূড়ান্ত রিডাইরেক্ট URL callback ফাংশনে পাঠানো হবে।

ভালো ব্যবহারকারীর অভিজ্ঞতার জন্য, আপনার অ্যাপে UI দ্বারা ইন্টারেক্টিভ প্রমাণীকরণ প্রবাহ শুরু করা গুরুত্বপূর্ণ, যাতে অনুমোদন কী উদ্দেশ্যে তা ব্যাখ্যা করা হয়। এটি করতে ব্যর্থ হলে আপনার ব্যবহারকারীরা কোনও প্রসঙ্গ ছাড়াই অনুমোদনের অনুরোধ পাবেন। বিশেষ করে, আপনার অ্যাপটি প্রথম চালু হওয়ার সময় কোনও ইন্টারেক্টিভ প্রমাণীকরণ প্রবাহ চালু করবেন না।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতি <স্ট্রিং | অনির্ধারিত>

    ক্রোম ১০৬+

    একটি প্রতিশ্রুতি প্রদান করে যা আপনার অ্যাপ্লিকেশনে পুনঃনির্দেশিত URL এর সাথে সমাধান হয়।

removeCachedAuthToken()

chrome.identity.removeCachedAuthToken(
  details: InvalidTokenDetails,
)
: Promise<void>

Identity API এর টোকেন ক্যাশে থেকে একটি OAuth2 অ্যাক্সেস টোকেন সরিয়ে দেয়।

যদি কোনও অ্যাক্সেস টোকেন অবৈধ বলে আবিষ্কৃত হয়, তাহলে ক্যাশে থেকে এটি সরানোর জন্য এটি removeCachedAuthToken-এ পাস করা উচিত। অ্যাপটি তখন getAuthToken দিয়ে একটি নতুন টোকেন পুনরুদ্ধার করতে পারে।

পরামিতি

রিটার্নস

  • প্রতিশ্রুতি<অকার্যকর>

    ক্রোম ১০৬+

    একটি প্রতিশ্রুতি প্রদান করে যা ক্যাশে থেকে টোকেনটি সরানোর পরে সমাধান হয়ে যায়।

ইভেন্টগুলি

onSignInChanged

chrome.identity.onSignInChanged.addListener(
  callback: function,
)

ব্যবহারকারীর প্রোফাইলে কোনও অ্যাকাউন্টের সাইন ইন অবস্থা পরিবর্তন হলে এটি চালু হয়।

পরামিতি

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এরকম:

    (account: AccountInfo, signedIn: boolean) => void