বর্ণনা
OAuth2 অ্যাক্সেস টোকেন পেতে chrome.identity API ব্যবহার করুন।
অনুমতি
identity প্রকারভেদ
AccountInfo
বৈশিষ্ট্য
- আইডি
স্ট্রিং
অ্যাকাউন্টের জন্য একটি অনন্য শনাক্তকারী। অ্যাকাউন্টের আজীবন এই আইডি পরিবর্তন হবে না।
AccountStatus
এনাম
"সিঙ্ক" "যেকোনো"
প্রাথমিক অ্যাকাউন্টের জন্য সিঙ্ক সক্রিয় করা হয়েছে তা নির্দিষ্ট করে৷
একটি প্রাথমিক অ্যাকাউন্টের অস্তিত্ব নির্দিষ্ট করে, যদি থাকে।
GetAuthTokenResult
বৈশিষ্ট্য
- স্কোপ মঞ্জুর করা হয়েছে
স্ট্রিং[] ঐচ্ছিক
এক্সটেনশনে দেওয়া OAuth2 স্কোপের একটি তালিকা।
- টোকেন
স্ট্রিং ঐচ্ছিক
অনুরোধের সাথে যুক্ত নির্দিষ্ট টোকেন।
InvalidTokenDetails
বৈশিষ্ট্য
- টোকেন
স্ট্রিং
নির্দিষ্ট টোকেন যা ক্যাশে থেকে সরানো উচিত।
ProfileDetails
বৈশিষ্ট্য
- অ্যাকাউন্ট স্ট্যাটাস
অ্যাকাউন্ট স্ট্যাটাস ঐচ্ছিক
একটি প্রোফাইলে সাইন ইন করা প্রাথমিক অ্যাকাউন্টের একটি স্ট্যাটাস যার
ProfileUserInfoফেরত দেওয়া উচিত।SYNCঅ্যাকাউন্ট স্থিতিতে ডিফল্ট।
ProfileUserInfo
বৈশিষ্ট্য
- ইমেইল
স্ট্রিং
বর্তমান প্রোফাইলে সাইন ইন করা ব্যবহারকারী অ্যাকাউন্টের জন্য একটি ইমেল ঠিকানা। খালি যদি ব্যবহারকারী সাইন ইন না করে বা
identity.emailম্যানিফেস্ট অনুমতি নির্দিষ্ট না থাকে। - আইডি
স্ট্রিং
অ্যাকাউন্টের জন্য একটি অনন্য শনাক্তকারী। অ্যাকাউন্টের আজীবন এই আইডি পরিবর্তন হবে না। খালি যদি ব্যবহারকারী সাইন ইন না করে থাকে বা (M41+ এ)
identity.emailম্যানিফেস্ট অনুমতি নির্দিষ্ট না থাকে।
TokenDetails
বৈশিষ্ট্য
- অ্যাকাউন্ট
AccountInfo ঐচ্ছিক
অ্যাকাউন্ট আইডি যার টোকেন ফেরত দিতে হবে। নির্দিষ্ট করা না থাকলে, ফাংশনটি Chrome প্রোফাইল থেকে একটি অ্যাকাউন্ট ব্যবহার করবে: যদি একটি থাকে তবে সিঙ্ক অ্যাকাউন্ট, বা অন্যথায় প্রথম Google ওয়েব অ্যাকাউন্ট।
- দানাদার অনুমতি সক্ষম করুন
বুলিয়ান ঐচ্ছিক
Chrome 87+enableGranularPermissionsফ্ল্যাগ এক্সটেনশনগুলিকে দানাদার অনুমতি সম্মতি স্ক্রীনের প্রথম দিকে অপ্ট-ইন করার অনুমতি দেয়, যেখানে অনুরোধ করা অনুমতিগুলি পৃথকভাবে মঞ্জুর বা অস্বীকার করা হয়। - ইন্টারেক্টিভ
বুলিয়ান ঐচ্ছিক
একটি টোকেন আনার জন্য ব্যবহারকারীকে Chrome-এ সাইন-ইন করতে হতে পারে, অথবা অ্যাপ্লিকেশনের অনুরোধকৃত স্কোপগুলি অনুমোদন করতে হতে পারে৷ ইন্টারেক্টিভ পতাকা
trueহলে,getAuthTokenব্যবহারকারীকে প্রয়োজন অনুযায়ী অনুরোধ করবে। যখন পতাকাfalseবা বাদ দেওয়া হয়, তখনgetAuthTokenব্যর্থতা ফিরিয়ে দেবে যে কোনো সময় প্রম্পটের প্রয়োজন হবে। - সুযোগ
স্ট্রিং[] ঐচ্ছিক
অনুরোধ করার জন্য OAuth2 স্কোপের একটি তালিকা।
যখন
scopesক্ষেত্রটি উপস্থিত থাকে, তখন এটি manifest.json-এ নির্দিষ্ট করা স্কোপের তালিকাকে ওভাররাইড করে।
WebAuthFlowDetails
বৈশিষ্ট্য
- AbortOnLoadForNoninteractive
বুলিয়ান ঐচ্ছিক
Chrome 113+পৃষ্ঠা লোড হওয়ার পরে অ-ইন্টারেক্টিভ অনুরোধের জন্য
launchWebAuthFlowবন্ধ করতে হবে কিনা। এই পরামিতি ইন্টারেক্টিভ প্রবাহকে প্রভাবিত করে না।true(ডিফল্ট) সেট করা হলে পৃষ্ঠা লোড হওয়ার সাথে সাথে প্রবাহটি বন্ধ হয়ে যাবে।falseসেট করা হলে,timeoutMsForNonInteractiveপাস হওয়ার পরেই প্রবাহটি বন্ধ হয়ে যাবে। এটি পরিচয় প্রদানকারীদের জন্য উপযোগী যারা পৃষ্ঠা লোড হওয়ার পরে পুনঃনির্দেশ করতে JavaScript ব্যবহার করে। - ইন্টারেক্টিভ
বুলিয়ান ঐচ্ছিক
ইন্টারেক্টিভ মোডে প্রমাণীকরণ প্রবাহ চালু করা হবে কিনা।
যেহেতু কিছু প্রমাণীকরণ প্রবাহ অবিলম্বে একটি ফলাফলের URL-এ পুনঃনির্দেশিত হতে পারে,
launchWebAuthFlowতার ওয়েব ভিউকে লুকিয়ে রাখে যতক্ষণ না প্রথম নেভিগেশন হয় চূড়ান্ত URL-এ পুনঃনির্দেশিত হয়, অথবা প্রদর্শিত হওয়ার জন্য একটি পৃষ্ঠা লোড করা শেষ না হয়।interactiveপতাকাtrueহলে, একটি পৃষ্ঠা লোড সম্পূর্ণ হলে উইন্ডোটি প্রদর্শিত হবে। যদি পতাকাটিfalseহয় বা বাদ দেওয়া হয়, প্রাথমিক নেভিগেশন প্রবাহটি সম্পূর্ণ না করলে,launchWebAuthFlowএকটি ত্রুটি সহ ফিরে আসবে৷পুনঃনির্দেশের জন্য জাভাস্ক্রিপ্ট ব্যবহার করে এমন ফ্লোগুলির জন্য, পৃষ্ঠাটিকে যেকোনো পুনঃনির্দেশ করার সুযোগ দেওয়ার জন্য
timeoutMsForNonInteractiveMsForNonInteractive সেট করার সাথেabortOnLoadForNonInteractivefalseসেট করা যেতে পারে। - টাইমআউটMsForNoninteractive
সংখ্যা ঐচ্ছিক
Chrome 113+সর্বাধিক সময়, মিলিসেকেন্ডে,
launchWebAuthFlowমোট নন-ইন্টারেক্টিভ মোডে চালানোর অনুমতি দেওয়া হয়।interactivefalseহলে শুধুমাত্র একটি প্রভাব আছে. - url
স্ট্রিং
ইউআরএল যা প্রমাণীকরণ প্রবাহ শুরু করে।
পদ্ধতি
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(): Promise<void>
আইডেন্টিটি এপিআই এর অবস্থা রিসেট করে:
- টোকেন ক্যাশে থেকে সমস্ত OAuth2 অ্যাক্সেস টোকেন সরিয়ে দেয়
- ব্যবহারকারীর অ্যাকাউন্ট পছন্দগুলি সরিয়ে দেয়
- সমস্ত প্রমাণীকরণ প্রবাহ থেকে ব্যবহারকারীকে ডি-অনুমোদিত করে
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 106+
getAccounts()
chrome.identity.getAccounts(): Promise<AccountInfo[]>
প্রোফাইলে উপস্থিত অ্যাকাউন্টগুলি বর্ণনা করে AccountInfo বস্তুর একটি তালিকা পুনরুদ্ধার করে।
getAccounts শুধুমাত্র dev চ্যানেলে সমর্থিত।
রিটার্নস
প্রতিশ্রুতি< AccountInfo []>
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
): Promise<GetAuthTokenResult>
manifest.json এর oauth2 বিভাগে নির্দিষ্ট করা ক্লায়েন্ট আইডি এবং স্কোপ ব্যবহার করে একটি OAuth2 অ্যাক্সেস টোকেন পায়।
আইডেন্টিটি এপিআই মেমরিতে অ্যাক্সেস টোকেন ক্যাশ করে, তাই যেকোন সময় টোকেন প্রয়োজন হলে getAuthToken অ-ইন্টারেক্টিভভাবে কল করা ঠিক আছে। টোকেন ক্যাশে স্বয়ংক্রিয়ভাবে মেয়াদ শেষ হয়ে যায়।
একটি ভাল ব্যবহারকারীর অভিজ্ঞতার জন্য এটি গুরুত্বপূর্ণ যে ইন্টারেক্টিভ টোকেন অনুরোধগুলি আপনার অ্যাপে UI দ্বারা শুরু করা হয় যা ব্যাখ্যা করে অনুমোদনের জন্য। এটি করতে ব্যর্থ হলে আপনার ব্যবহারকারীরা অনুমোদনের অনুরোধ পেতে পারে, অথবা ক্রোম সাইন ইন স্ক্রীনে প্রবেশ করবে যদি তারা সাইন ইন না করে থাকে, কোন প্রসঙ্গ ছাড়াই। বিশেষ করে, আপনার অ্যাপটি প্রথম চালু হলে ইন্টারেক্টিভভাবে getAuthToken ব্যবহার করবেন না।
দ্রষ্টব্য: যখন একটি কলব্যাকের সাথে কল করা হয়, তখন একটি বস্তু ফেরত দেওয়ার পরিবর্তে এই ফাংশনটি কলব্যাকে পাস করা পৃথক আর্গুমেন্ট হিসাবে দুটি বৈশিষ্ট্য ফিরিয়ে দেবে।
পরামিতি
- বিস্তারিত
TokenDetails ঐচ্ছিক
টোকেন বিকল্প।
রিটার্নস
প্রতিশ্রুতি< GetAuthTokenResult >
Chrome 105+
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
): Promise<ProfileUserInfo>
একটি প্রোফাইলে সাইন ইন করা ব্যবহারকারীর ইমেল ঠিকানা এবং অস্পষ্ট gaia আইডি পুনরুদ্ধার করে৷
identity.email ম্যানিফেস্ট অনুমতি প্রয়োজন. অন্যথায়, একটি খালি ফলাফল প্রদান করে।
এই API দুটি উপায়ে identity.getAccounts থেকে আলাদা। ফেরত দেওয়া তথ্য অফলাইনে উপলব্ধ, এবং এটি শুধুমাত্র প্রোফাইলের প্রাথমিক অ্যাকাউন্টে প্রযোজ্য।
পরামিতি
- বিস্তারিত
প্রোফাইলের বিবরণ ঐচ্ছিক
Chrome 84+প্রোফাইল বিকল্প।
রিটার্নস
প্রতিশ্রুতি< ProfileUserInfo >
Chrome 106+
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 পরিচয় প্রদানকারীর সাথে প্রমাণীকরণ প্রবাহকে সক্ষম করে। যখন প্রদানকারী প্যাটার্ন https://<app-id>.chromiumapp.org/* সাথে মিলে যাওয়া একটি URL এ পুনঃনির্দেশ করে, তখন উইন্ডোটি বন্ধ হয়ে যাবে এবং চূড়ান্ত পুনঃনির্দেশ URLটি callback ফাংশনে পাঠানো হবে৷
একটি ভাল ব্যবহারকারীর অভিজ্ঞতার জন্য এটি গুরুত্বপূর্ণ যে ইন্টারেক্টিভ প্রমাণীকরণ ফ্লোগুলি আপনার অ্যাপে UI দ্বারা শুরু করা হয় তা ব্যাখ্যা করে যে অনুমোদনটি কীসের জন্য৷ এটি করতে ব্যর্থ হলে আপনার ব্যবহারকারীরা কোন প্রসঙ্গ ছাড়াই অনুমোদনের অনুরোধ পেতে পারে। বিশেষ করে, আপনার অ্যাপটি প্রথম চালু হলে একটি ইন্টারেক্টিভ প্রমাণীকরণ প্রবাহ চালু করবেন না।
পরামিতি
- বিস্তারিত
WebAuth ফ্লো বিকল্প।
রিটার্নস
প্রতিশ্রুতি<স্ট্রিং | undefined>
Chrome 106+
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
): Promise<void>
Identity API-এর টোকেন ক্যাশে থেকে একটি OAuth2 অ্যাক্সেস টোকেন সরিয়ে দেয়।
যদি একটি অ্যাক্সেস টোকেন অবৈধ বলে আবিষ্কৃত হয়, তবে এটি ক্যাশে থেকে মুছে ফেলার জন্য CachedAuthToken কে সরিয়ে দেওয়া উচিত। অ্যাপটি তারপর getAuthToken দিয়ে একটি নতুন টোকেন পুনরুদ্ধার করতে পারে।
পরামিতি
- বিস্তারিত
টোকেন তথ্য।
রিটার্নস
প্রতিশ্রুতি <void>
Chrome 106+
ঘটনা
onSignInChanged
chrome.identity.onSignInChanged.addListener(
callback: function,
)
ব্যবহারকারীর প্রোফাইলে একটি অ্যাকাউন্টের জন্য সাইন ইন অবস্থা পরিবর্তন হলে বহিস্কার করা হয়৷
পরামিতি
- কলব্যাক
ফাংশন
callbackপ্যারামিটারটি এর মতো দেখাচ্ছে:(account: AccountInfo, signedIn: boolean) => void
- অ্যাকাউন্ট
- সাইন ইন
বুলিয়ান