Okta Portal SSO
SSO का उपयोग करके Halo portal में लॉगिन करने के लिए Okta को Identity Provider के रूप में उपयोग करें।
पूर्वापेक्षाएँ
- Halo के लिए कॉन्फ़िगर किया गया Okta authorization server (देखें Okta Authorization Server)
Okta में अपना app रजिस्टर करें
App integration बनाएँ
- Okta Admin Console में लॉग इन करें →
Applications->Applicationsपर जाएँ। - Create App Integration पर क्लिक करें → OIDC - OpenID Connect चुनें।
- Single-Page Application पर क्लिक करें।

ऐप इंटीग्रेशन कॉन्फ़िगर करें
- Configure the following settings:
- ऐप इंटीग्रेशन नाम: उदाहरण के लिए
Glasswall Halo Portal - Grant type: Choose below 3 options
- Authorization Code
- Refresh Token
- Implicit (hybrid)
- Sign-in redirect URIs: उदाहरण के लिए
https://<your-halo-domain>/authentication/login-callback - Sign-out redirect URIs: उदाहरण के लिए
https://<your-halo-domain>/authentication/logout-callback - Controlled access:
Allow everyone in your organization to accessचुनें। या यदि आप एक्सेस को कुछ लोगों तक सीमित करना चाहते हैं, तो केवल विशिष्ट समूह चुनें। Enable immediate access with Federation Broker Modeका चयन हटाएँ।
- ऐप इंटीग्रेशन नाम: उदाहरण के लिए

एप्लिकेशन सहेजें और client ID नोट करें
-
Application सहेजें और
Client IDनोट करें।export PORTAL_CLIENT_ID=""

API scopes प्रदान करें
- Navigate to
Okta API Scopestab in the application and grant below scopes.okta.myAccount.email.readokta.myAccount.profile.readokta.users.readokta.users.read.self

issuer URI और audience नोट करें
-
पूर्वापेक्षा चरण में कॉन्फ़िगर किए गए authorization server से,
Issuer Metadata URIऔरVALID_AUDIENCEनोट करें:export OKTA_ISSUER_URI="https://<your-okta-domain>/oauth2/<authorization-server-id>"
export OKTA_ORIGIN="https://<your-okta-domain>"
export VALID_AUDIENCE="api://halo"
पोर्टल के लिए access policy जोड़ें
- authorization server के
Access Policiesटैब पर जाएँ (Security->API-> अपना authorization server चुनें ->Access Policies)। - Add a new access policy:
- नाम: उदाहरण के लिए
Portal SSO Access - विवरण: उदाहरण के लिए
Access policy for Halo Portal SSO users - Assign to: ऊपर बनाया गया Portal SPA client (नाम
Glasswall Halo Portalसे खोजें)
- नाम: उदाहरण के लिए
- Add a rule:
- नाम: उदाहरण के लिए
Allow Portal Users - Grant type:
Authorization Code - उपयोगकर्ता इसका सदस्य है:
Everyone(या किसी विशिष्ट group तक सीमित करें, उदाहरण के लिएHalo-Admin, यदि आप Portal access सीमित करना चाहते हैं) - अन्य settings को डिफ़ॉल्ट रूप में रहने दें या आवश्यकता अनुसार समायोजित करें।
- नाम: उदाहरण के लिए

Portal service अपडेट करें
export HALO_DOMAIN=<your-halo-domain>
helm upgrade --install cdrplatform-portal cdrplatform-portal -n cdrplatform --reuse-values \
--set configuration.AutoAdmin=false \
--set configuration.BackendScope="email openid profile" \
--set configuration.BackendUrl="https://${HALO_DOMAIN:?}" \
--set configuration.EnabledPages="SystemSettings\,PolicySettings\,IcapSettings\,IcapRequests\,IcapReporting" \
--set configuration.OIDC.ProviderOptions.Authority="${OKTA_ISSUER_URI:?}" \
--set configuration.OIDC.ProviderOptions.ClientId="${PORTAL_CLIENT_ID:?}" \
--set configuration.OIDC.ProviderOptions.PostLogoutRedirectUri="https://${HALO_DOMAIN:?}/authentication/logout-callback" \
--set configuration.OIDC.ProviderOptions.RedirectUri="https://${HALO_DOMAIN:?}/authentication/login-callback" \
--set appenvironment.HTTP_CSP_CONNECT_SRC="'self' ${OKTA_ORIGIN:?}" \
--set appenvironment.HTTP_CSP_FRAME_SRC="'self' ${OKTA_ORIGIN:?}" \
--set appenvironment.HTTP_CSP_FRAME_ANCESTORS="'self' ${OKTA_ORIGIN:?}" \
--set ingress.enabled=true \
--set ingress.tls.domain="${HALO_DOMAIN:?}" \
--set ingress.tls.enabled=true \
--atomic
Portal-Access सेवा अपडेट करें
helm upgrade --install cdrplatform-portal-access -n cdrplatform cdrplatform-portal-access --reuse-values \
--set configuration.Authentication__Schemes__Bearer__Authority="${OKTA_ISSUER_URI:?}" \
--set configuration.Authentication__Schemes__Bearer__ValidAudiences__0="${VALID_AUDIENCE:?}" \
--set configuration.Authentication__Schemes__Bearer__ValidIssuer="${OKTA_ISSUER_URI:?}" \
--set configuration.AuthenticationScheme="Bearer" \
--set configuration.CORSDOMAIN="'*'" \
--set ingress.enabled=true \
--set ingress.tls.domain="${HALO_DOMAIN:?}" \
--set ingress.tls.enabled=true \
--atomic
उपयोगकर्ताओं को एक्सेस प्रदान करें
Halo में 2 भूमिकाएँ हैं - User और Admin। भूमिकाएँ Okta authorization server पर group membership के माध्यम से कॉन्फ़िगर की जाती हैं (देखें भूमिकाएँ परिभाषित करें)।
- उपयोगकर्ता भूमिका प्रदान करने के लिए, उपयोगकर्ता को
Halo_Usergroup में जोड़ें। - एडमिन भूमिका प्रदान करने के लिए, उपयोगकर्ता को
Halo_Admingroup में जोड़ें।