কাস্টমার সার্ভিস
কাস্টমার মেসেজিং প্ল্যাটফর্মে সিঙ্গেল সাইন-অন (SSO): সাপোর্ট টিমের জন্য OpenID Connect গাইড
যে এজেন্টরা সারাদিন গ্রাহকের কথোপকথন পড়েন, তাঁদের আলাদা পাসওয়ার্ড নয়, কোম্পানির অ্যাকাউন্ট দিয়েই সাইন ইন করা উচিত। OpenID Connect SSO কীভাবে কাজ করে, চালু করার আগে কী ঠিক করবেন, আর অন-প্রিমিস MonoChat ইনস্টলেশনে কীভাবে সেট আপ করবেন, তা এই গাইডে।
MonoChat টিম আপডেট করা হয়েছে: 7 মিনিটে পড়া যায়
এই পেজে
- সাপোর্ট টিমের জন্য সাইন-ইন কেন গুরুত্বপূর্ণ
- OpenID Connect দিয়ে সাইন-ইন কীভাবে কাজ করে
- SSO চালু করার আগে এই পাঁচটি বিষয় ঠিক করুন
- অন-প্রিমিস MonoChat ইনস্টলেশনে SSO সেট আপ করুন
- বিদ্যমান এজেন্ট: অ্যাকাউন্ট কীভাবে যুক্ত হয়
- SSO পরিচয় দেয়, রোল দেয় অ্যাক্সেস
- যে সীমাবদ্ধতাগুলো মাথায় রেখে পরিকল্পনা করবেন
- MonoChat-এ SSO কোথায় পাবেন
- সূত্র
কাস্টমার মেসেজিং প্ল্যাটফর্মে সিঙ্গেল সাইন-অন (SSO) মানে আপনার এজেন্টরা আলাদা পাসওয়ার্ড দিয়ে নয়, আপনার আইডেন্টিটি প্রোভাইডারে থাকা কোম্পানির অ্যাকাউন্ট দিয়ে সাইন ইন করেন, যেমন Microsoft Entra ID, Okta, Keycloak, AD FS বা Google Workspace। এর পেছনের স্ট্যান্ডার্ডটি হলো OpenID Connect (OIDC)। অন-প্রিমিস MonoChat ইনস্টলেশনে আপনি এটি পুরো ইনস্টলেশনের জন্য একবারই সেট আপ করেন, আপনার কোম্পানির ই-মেইল ডোমেইনে সীমিত রাখেন, এবং চাইলে এটিকেই সাইন ইনের একমাত্র পথ করে দিতে পারেন।
সাপোর্ট টিমের জন্য এর আলাদা গুরুত্ব আছে। একজন এজেন্টের অ্যাকাউন্ট দিয়ে তিনি যত WhatsApp, Instagram ও Messenger কথোপকথন দেখতে পান, সব খুলে যায়: নাম, ফোন নম্বর, অর্ডারের তথ্য, কখনো কখনো স্বাস্থ্য বা পেমেন্ট নিয়ে প্রশ্ন। এই অ্যাকাউন্টও কোম্পানির বাকি অ্যাকাউন্টের মতো একই নিয়ম মেনে চলা উচিত, এবং কেউ চাকরি ছাড়ার দিনই এটি বন্ধ হয়ে যাওয়া উচিত।
সাপোর্ট টিমের জন্য সাইন-ইন কেন গুরুত্বপূর্ণ
চুরি হওয়া বা অপব্যবহার হওয়া লগইন তথ্যই এখনো কোনো কোম্পানিতে ঢোকার সবচেয়ে প্রচলিত পথ। Verizon-এর 2025 Data Breach Investigations Report, যাতে ১২,১৯৫টি নিশ্চিত ডেটা ব্রিচ বিশ্লেষণ করা হয়েছে, দেখিয়েছে যে প্রাথমিক আক্রমণের প্রধান পথ ছিল ক্রেডেনশিয়ালের অপব্যবহার (২২%) এবং দুর্বলতার সুযোগ নেওয়া (২০%)।
নিজস্ব পাসওয়ার্ডওয়ালা একটি মেসেজিং প্ল্যাটফর্ম প্রত্যেক এজেন্টের ঘাড়ে আরও এক সেট লগইন চাপায়: বারবার ব্যবহার করার মতো আরও একটি পাসওয়ার্ড, কেউ চলে গেলে বন্ধ করতে ভুলে যাওয়ার মতো আরও একটি অ্যাকাউন্ট, এবং এমন আরও একটি লগইন যেখানে আপনার মাল্টি-ফ্যাক্টর অথেনটিকেশন (MFA) ও কন্ডিশনাল অ্যাক্সেসের নিয়ম খাটে না। SSO থাকলে প্ল্যাটফর্ম পাসওয়ার্ডটি কখনো দেখেই না। আপনার আইডেন্টিটি প্রোভাইডার সেটি যাচাই করে, আপনার MFA ও অ্যাক্সেস পলিসি প্রয়োগ করে, তারপর প্ল্যাটফর্মকে জানায় কে সাইন ইন করেছেন।
OpenID Connect দিয়ে সাইন-ইন কীভাবে কাজ করে
OpenID Connect হলো OAuth 2.0-এর ওপর তৈরি একটি আইডেন্টিটি স্তর। MonoChat যে ফ্লো ব্যবহার করে সেটি authorization code flow:
- এজেন্ট সাইন-ইন পেজে SSO বোতামে ক্লিক করেন। MonoChat একটি পপ-আপে আপনার আইডেন্টিটি প্রোভাইডারের সাইন-ইন পেজ খোলে।
- এজেন্ট সেখানে আপনার MFA ও পলিসি মেনে সাইন ইন করেন।
- আইডেন্টিটি প্রোভাইডার ব্রাউজারকে একটি এককালীন কোডসহ MonoChat-এ ফেরত পাঠায়।
- MonoChat সার্ভার সরাসরি সার্ভার থেকে সার্ভারে কোডটির বদলে একটি ID token নেয়। টোকেনগুলো কখনো ব্রাউজারের ভেতর দিয়ে যায় না।
- MonoChat ID token যাচাই করে এজেন্টকে সাইন ইন করায়।
OpenID Connect স্পেসিফিকেশনের ভাষায় ID token হলো “a security token that contains Claims about the Authentication of an End-User”, অর্থাৎ একজন ব্যবহারকারীর পরিচয় যাচাই সম্পর্কে তথ্য (claim) বহনকারী একটি সিকিউরিটি টোকেন। MonoChat এটি গ্রহণ করে কেবল তখনই, যখন:
- এটি আপনার আইডেন্টিটি প্রোভাইডারের কোনো একটি কি দিয়ে সাইন করা, যা প্রতিটি সাইন-ইনে তার discovery document (
<issuer>/.well-known/openid-configuration) থেকে পড়া হয়; - এর issuer (
iss) আপনার issuer, audience (aud) MonoChat-এর client ID, এবং মেয়াদ (exp) এখনো শেষ হয়নি; - এতে MonoChat অনুরোধের সঙ্গে যে
nonceপাঠিয়েছিল সেটি আছে, যা টোকেনটিকে এই সাইন-ইনের সঙ্গে বেঁধে দেয় এবং পুরোনো টোকেন আবার ব্যবহার (replay) ঠেকায়; - এতে ব্যক্তির ই-মেইল ঠিকানা আছে, এবং প্রোভাইডার বলছে না যে ঠিকানাটি যাচাই করা হয়নি।
অনুরোধে PKCE (S256) ও একটি state মানও ব্যবহার করা হয়, এবং একটি সাইন-ইন অনুরোধ ১০ মিনিট বৈধ থাকে ও একবারই ব্যবহার করা যায়।
SSO চালু করার আগে এই পাঁচটি বিষয় ঠিক করুন
| সিদ্ধান্ত | বিকল্প | সাপোর্ট টিমের জন্য আমাদের পরামর্শ |
|---|---|---|
| কারা সাইন ইন করতে পারবেন | যেকোনো ডোমেইন, নাকি শুধু আপনার কোম্পানির ই-মেইল ডোমেইন | আপনার ডোমেইনে সীমিত রাখুন |
| প্রথমবার সাইন ইনে কী হবে | অ্যাকাউন্ট তৈরি হবে, নাকি শুধু আমন্ত্রিতরা ঢুকতে পারবেন | কারা কাজ করেন তা আপনার আইডেন্টিটি প্রোভাইডার আগে থেকেই নিয়ন্ত্রণ করলে অ্যাকাউন্ট তৈরি হতে দিন |
| বিদ্যমান অ্যাকাউন্ট | ই-মেইল যাচাই করা থাকলে প্রথম সাইন-ইনেই SSO যুক্ত করা, নাকি একবার পাসওয়ার্ড দিয়ে সাইন ইনের পর | আপনার প্রোভাইডার email_verified পাঠায় কি না, তার ওপর নির্ভর করে |
| অন্য সাইন-ইন পদ্ধতি | পাসওয়ার্ড ও সোশ্যাল সাইন-ইন রাখা, নাকি শুধু SSO | সবাই SSO যুক্ত করার পর শুধু SSO |
| কারা নতুন ওয়ার্কস্পেস খুলতে পারবেন | অ্যাকাউন্ট আছে এমন যে কেউ, নাকি শুধু সঠিক রোলের মানুষ | কোম্পানির ইনস্টলেশনে যে কারো ওয়ার্কস্পেস খোলা বন্ধ রাখুন |
কোনো সেটিং বদলানোর আগে এগুলো লিখে রাখুন। আপনার সিকিউরিটি টিম ঠিক এই প্রশ্নগুলোই করবে, আর উত্তরগুলোই ঠিক করে দেবে কোন কোন সেটিং আপনার লাগবে।
অন-প্রিমিস MonoChat ইনস্টলেশনে SSO সেট আপ করুন
SSO সেট আপ হয় পুরো ইনস্টলেশনের জন্য, সার্ভার সেটিংসে, প্রতিটি ওয়ার্কস্পেসে আলাদা করে নয়। পূর্ণ বিবরণ আছে হেল্প সেন্টারের সিঙ্গেল সাইন-অন পেজে; এখানে সংক্ষেপে দেওয়া হলো।
১. আপনার আইডেন্টিটি প্রোভাইডারে MonoChat নিবন্ধন করুন
একটি client secret-সহ একটি ওয়েব অ্যাপ্লিকেশন তৈরি করুন, এবং তাতে দিন:
- redirect URI
https://<your MonoChat domain>/api/oauth/oidc/redirect; - authorization code grant;
- scope
openid email profile; - HTTP Basic হিসেবে secret পাঠিয়ে client authentication (
client_secret_basic)।
নিশ্চিত করুন ID token-এ email claim আছে, এবং client ID, client secret ও issuer লিখে রাখুন।
২. issuer হুবহু কপি করুন
issuer হলো আপনার প্রোভাইডারের discovery document-এর issuer মান। সাধারণ রূপগুলো:
| আইডেন্টিটি প্রোভাইডার | Issuer |
|---|---|
| Microsoft Entra ID | https://login.microsoftonline.com/<tenant id>/v2.0 |
| Okta | https://<your Okta domain>/oauth2/default অথবা https://<your Okta domain> |
| Keycloak | https://<your Keycloak host>/realms/<realm> |
| AD FS 2016 বা পরের সংস্করণ | https://<your AD FS host>/adfs |
| Google Workspace | https://accounts.google.com |
ব্রাউজারে <issuer>/.well-known/openid-configuration খুলুন এবং মানটি অক্ষরে অক্ষরে কপি করুন, শেষে স্ল্যাশ থাকলে সেটিসহ। দুটি না মিললে MonoChat প্রতিটি সাইন-ইন প্রত্যাখ্যান করে, আর প্রথম টেস্ট ব্যর্থ হওয়ার সবচেয়ে সাধারণ কারণ এটাই।
৩. সেটিংস যোগ করে রিস্টার্ট করুন
পাবলিক অংশ (issuer, client ID, redirect path, scope ও বোতামের লেখা) যায় public.oauth.oidc-এর নিচে; client secret যায় oauth.oidc-এর নিচে এবং সার্ভারেই থাকে। সেখানে দুটি অপশন ওপরের টেবিলের সিদ্ধান্তগুলো বহন করে:
autoCreateAccounts: trueকারো প্রথম SSO সাইন-ইনে MonoChat অ্যাকাউন্ট তৈরি করে, সাইন-আপ শুধু আমন্ত্রণে সীমিত থাকলেও;allowedEmailDomains: ["yourcompany.com"]অন্য ডোমেইনের প্রতিটি ঠিকানা প্রত্যাখ্যান করে। Google Workspace-এর ক্ষেত্রে MonoChat ই-মেইল ঠিকানার বদলে অ্যাকাউন্টের Workspace ডোমেইন (hdclaim) যাচাই করে, কারণ একটি ব্যক্তিগত Google অ্যাকাউন্টও যেকোনো ডোমেইনের ঠিকানা ব্যবহার করতে পারে।
বোতামে প্রত্যেকের নিজের ভাষায় লেখা থাকে, বাংলায় “SSO দিয়ে সাইন ইন করুন”, অথবা আপনি যে লেখা সেট করেন, যেমন “Northwind SSO দিয়ে সাইন ইন করুন”।
৪. নিরাপদে SSO-কে একমাত্র পদ্ধতি করুন
সবাই SSO যুক্ত করে ফেললে অনুমোদিত সাইন-ইন পদ্ধতি (public.auth.methods) ["oidc"]-এ সেট করুন। তখন সাইন-ইন পেজে শুধু SSO বোতাম দেখা যায়, আর সার্ভার পাসওয়ার্ড ও সোশ্যাল সাইন-ইন প্রত্যাখ্যান করে। রুট সুপার ইউজাররা তখনও /auth/signin?fallback=1-এ পাসওয়ার্ড দিয়ে সাইন ইন করতে পারেন, তাই আইডেন্টিটি প্রোভাইডার বন্ধ থাকলেও ইনস্টলেশন কখনো লক হয় না। নতুন SSO অ্যাকাউন্টগুলো যেন নিজেদের ওয়ার্কস্পেস খুলতে না পারে, সেজন্য public.disableTenantCreation true করুন।
৫. চারটি সাইন-ইন টেস্ট করুন
- অ্যাকাউন্ট আছে এমন একজন: পপ-আপ বন্ধ হয় এবং তিনি ভেতরে ঢুকে যান।
- অ্যাকাউন্ট নেই এমন একজন: অ্যাকাউন্ট তৈরি হয়, অথবা আপনি অ্যাকাউন্ট তৈরি চালু না করলে প্রত্যাখ্যাত হন।
- অন্য ডোমেইনের একজন: ডোমেইন সীমিত করলে প্রত্যাখ্যাত হন।
- শুধু-SSO চালু থাকা অবস্থায় পাসওয়ার্ড দিয়ে সাইন-ইন: প্রত্যাখ্যাত হয়, অথচ রুটের বিকল্প পথ তখনও কাজ করে।
বিদ্যমান এজেন্ট: অ্যাকাউন্ট কীভাবে যুক্ত হয়
বেশিরভাগ টিম SSO চালু করে এমন সময়ে, যখন এজেন্টদের আগে থেকেই MonoChat অ্যাকাউন্ট আছে। MonoChat একই ই-মেইল ঠিকানার বিদ্যমান অ্যাকাউন্টের সঙ্গে SSO দুইভাবে যুক্ত করে:
- স্বয়ংক্রিয়ভাবে, প্রথম SSO সাইন-ইনে, যখন ইনস্টলেশন মার্জ করার অনুমতি দেয় এবং ID token জানায় যে ঠিকানাটি যাচাই করা (
email_verified: true)। - একবার পাসওয়ার্ড দিয়ে সাইন ইনের পর, বাকি সব ক্ষেত্রে: MonoChat ব্যক্তিকে একবার পাসওয়ার্ড দিয়ে সাইন ইন করতে বলে এবং তখন SSO যুক্ত করে। কোনো ওয়ার্কস্পেসের আমন্ত্রণ গ্রহণ করলেও এটি যুক্ত হয়ে যায়।
Microsoft Entra ID ও AD FS email_verified পাঠায় না। এগুলোর ক্ষেত্রে শুধু-SSO-তে যাওয়ার আগে হয় সবাই SSO যুক্ত না করা পর্যন্ত পাসওয়ার্ড সাইন-ইন চালু রাখুন, নয়তো সবাইকে আবার আমন্ত্রণ জানান।
SSO পরিচয় দেয়, রোল দেয় অ্যাক্সেস
সাইন ইন করলে একজন মানুষ একটি অ্যাকাউন্ট পান, আপনার কথোপকথনের অ্যাক্সেস নয়। একটি MonoChat অ্যাকাউন্ট একাধিক ওয়ার্কস্পেসের সদস্য হতে পারে, এবং মানুষ আগে সাইন ইন করেন, তারপর ওয়ার্কস্পেস বেছে নেন। কোনো ওয়ার্কস্পেস কাউকে আমন্ত্রণ জানিয়ে একটি রোল দিলে তবেই তিনি সেটি দেখতে পান, আর সেই রোল ঠিক করে তিনি কোন চ্যানেল, কথোপকথন ও সেটিংসে পৌঁছাবেন। কীভাবে সেগুলো সাজাবেন, তা জানতে টিম ইনবক্সে রোল ও পারমিশন দেখুন।
একজন অডিটর ঠিক এই ভাগটাই দেখতে চাইবেন:
- নতুন যোগদান: আইডেন্টিটি প্রোভাইডার ব্যক্তিকে তৈরি করে; একজন ওয়ার্কস্পেস অ্যাডমিন তাঁকে আমন্ত্রণ জানিয়ে রোল বেছে দেন।
- দায়িত্ব বদল: MonoChat-এ রোল বা ওয়ার্কগ্রুপ বদলান; সাইন-ইন বদলায় না।
- চাকরি ছাড়া: আইডেন্টিটি প্রোভাইডারে ব্যক্তিকে নিষ্ক্রিয় করুন, এবং MonoChat-এ ওয়ার্কস্পেস থেকে সরিয়ে দিন।
যে সীমাবদ্ধতাগুলো মাথায় রেখে পরিকল্পনা করবেন
- মোবাইল অ্যাপ। MonoChat-এর Android ও iOS অ্যাপে এখনো SSO নেই। SSO-ই একমাত্র সাইন-ইন পদ্ধতি হলে এজেন্টরা ফোনে সাইন ইন করতে পারবেন না, তাই মোবাইল ব্যবহারকারীদের জন্য অন্য একটি পদ্ধতি রাখুন অথবা শুধু ডেস্কটপে শিফটের পরিকল্পনা করুন।
- সাইন-আউট। MonoChat থেকে সাইন আউট করলে ব্যক্তি আইডেন্টিটি প্রোভাইডার থেকে সাইন আউট হন না, আর সেখানে সাইন আউট করলেও এখনো MonoChat থেকে সাইন আউট হন না। চলে যাওয়া কাউকে আইডেন্টিটি প্রোভাইডারে নিষ্ক্রিয় করলে নতুন সাইন-ইন বন্ধ হয়; তাঁকে ওয়ার্কস্পেস থেকেও সরান।
- নেটওয়ার্ক। ব্যবহারকারীদের ব্রাউজারকে
/api/oauth/oidc/authorizeও redirect path-এ পৌঁছাতে হবে, আর MonoChat সার্ভারকে HTTPS দিয়ে আপনার প্রোভাইডারের discovery document, token endpoint ও key set-এ পৌঁছাতে হবে। আপনি যদি ইনস্টলেশনটি IP দিয়েও সীমিত করেন, এই পাথগুলো মাথায় রাখুন।
MonoChat-এ SSO কোথায় পাবেন
SSO পুরো একটি ইনস্টলেশনের সার্ভার সেটিংসে কনফিগার করা হয়, তাই আপাতত এটি অন-প্রিমিস MonoChat-এর অংশ: যে টিমগুলো নিজেদের সার্ভারে, নিজেদের LLM ও ভেক্টর ডেটাবেসসহ প্ল্যাটফর্ম চালায়, তাদের জন্য Enterprise অপশন। অন-প্রিমিস অপশনের বিস্তারিত আছে Enterprise পেজে, আর রোল-ভিত্তিক অ্যাক্সেস, ওয়ার্কস্পেসের আলাদা থাকা ও সার্টিফিকেশনের কথা আছে সিকিউরিটি পেজে। AI চালুর সময় ডেটার দিকটি জানতে AI চ্যাটবটের প্রাইভেসি চেকলিস্ট দেখুন।
আগে প্রোডাক্টটি নিজে চালিয়ে দেখতে চাইলে app.monochat.ai-এর বিনামূল্যের Basic প্ল্যানে একজন এজেন্ট ও একটি চ্যানেল পাবেন।
সূত্র
- OpenID Connect Core 1.0, OpenID Foundation, দেখা হয়েছে ৪ নভেম্বর ২০২৬
- Verizon 2025 Data Breach Investigations Report-এর ঘোষণা, দেখা হয়েছে ৪ নভেম্বর ২০২৬
- MonoChat হেল্প সেন্টার: Single Sign-On for an On-Premise Installation, দেখা হয়েছে ৪ নভেম্বর ২০২৬
- MonoChat চেঞ্জলগ 3.8.43, ২ নভেম্বর ২০২৬
MonoChat দিয়ে এটি বাস্তবে প্রয়োগ করুন