বিবরণ
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একটি ত্রুটি সহ ফিরে আসবে।পুনঃনির্দেশের জন্য জাভাস্ক্রিপ্ট ব্যবহার করে এমন ফ্লোগুলির জন্য, পৃষ্ঠাটিকে যেকোনো পুনঃনির্দেশনা সম্পাদনের সুযোগ দেওয়ার জন্য
abortOnLoadForNonInteractivetimeoutMsForNonInteractiveসেট করার সাথে সাথেfalseএ সেট করা যেতে পারে। - টাইমআউটMsForNonInteractive
সংখ্যা ঐচ্ছিক
ক্রোম ১১৩+launchWebAuthFlowঅ-ইন্টারেক্টিভ মোডে চালানোর জন্য সর্বোচ্চ সময়কাল, মিলিসেকেন্ডে। শুধুমাত্র তখনই এটি কার্যকর হবে যখনinteractivefalseহয়। - ইউআরএল
স্ট্রিং
যে 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 দ্বারা ইন্টারেক্টিভ প্রমাণীকরণ প্রবাহ শুরু করা গুরুত্বপূর্ণ, যাতে অনুমোদন কী উদ্দেশ্যে তা ব্যাখ্যা করা হয়। এটি করতে ব্যর্থ হলে আপনার ব্যবহারকারীরা কোনও প্রসঙ্গ ছাড়াই অনুমোদনের অনুরোধ পাবেন। বিশেষ করে, আপনার অ্যাপটি প্রথম চালু হওয়ার সময় কোনও ইন্টারেক্টিভ প্রমাণীকরণ প্রবাহ চালু করবেন না।
পরামিতি
- বিস্তারিত
WebAuth প্রবাহ বিকল্প।
রিটার্নস
প্রতিশ্রুতি <স্ট্রিং | অনির্ধারিত>
ক্রোম ১০৬+একটি প্রতিশ্রুতি প্রদান করে যা আপনার অ্যাপ্লিকেশনে পুনঃনির্দেশিত 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
- হিসাব
- সাইন ইন
বুলিয়ান