Okta Portal SSO
Gamitin ang Okta bilang Identity Provider para mag-login sa Halo portal gamit ang SSO.
Mga Kinakailangan
- Okta authorization server na naka-configure para sa Halo (tingnan ang Okta Authorization Server)
Irehistro ang iyong app sa Okta
Gumawa ng app integration
- Mag-login sa Okta Admin Console → Pumunta sa
Applications->Applications. - I-click ang Create App Integration → Piliin ang OIDC - OpenID Connect.
- I-click ang Single-Page Application.

I-configure ang app integration
- Configure the following settings:
- Pangalan ng app integration: hal.
Glasswall Halo Portal - Grant type: Choose below 3 options
- Authorization Code
- Refresh Token
- Implicit (hybrid)
- Mga Sign-in redirect URI: hal.
https://<your-halo-domain>/authentication/login-callback - Mga Sign-out redirect URI: hal.
https://<your-halo-domain>/authentication/logout-callback - Controlled access: Piliin ang
Allow everyone in your organization to access. O piliin lamang ang mga partikular na grupo kung gusto mong limitahan ang access sa iilang tao. - Alisin ang pagkakapili sa
Enable immediate access with Federation Broker Mode.
- Pangalan ng app integration: hal.

I-save ang application at itala ang client ID
-
I-save ang Application at itala ang
Client ID.export PORTAL_CLIENT_ID=""

Magbigay ng mga API scope
- Navigate to
Okta API Scopestab in the application and grant below scopes.okta.myAccount.email.readokta.myAccount.profile.readokta.users.readokta.users.read.self

Itala ang issuer URI at audience
-
Mula sa authorization server na na-configure sa kinakailangang hakbang, tandaan ang
Issuer Metadata URIatVALID_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"
Magdagdag ng access policy para sa portal
- Pumunta sa tab na
Access Policiesng authorization server (Security->API-> piliin ang iyong authorization server ->Access Policies). - Add a new access policy:
- Pangalan: hal.
Portal SSO Access - Paglalarawan: hal.
Access policy for Halo Portal SSO users - I-assign sa: ang Portal SPA client na ginawa sa itaas (hanapin ayon sa pangalang
Glasswall Halo Portal)
- Pangalan: hal.
- Add a rule:
- Pangalan: hal.
Allow Portal Users - Uri ng grant:
Authorization Code - Ang user ay miyembro ng:
Everyone(o limitahan sa isang partikular na grupo, hal.,Halo-Admin, kung gusto mong limitahan ang access sa Portal) - Iwan ang ibang mga setting sa mga default o ayusin kung kinakailangan.
- Pangalan: hal.

I-update ang serbisyo ng Portal
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
I-update ang serbisyo ng 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
Magbigay ng access sa mga user
May 2 role sa Halo - User at Admin. Kino-configure ang mga role sa pamamagitan ng membership sa grupo sa Okta authorization server (tingnan ang Tukuyin ang Mga Role).
- Para ibigay ang user role, idagdag ang user sa grupong
Halo_User. - Para ibigay ang admin role, idagdag ang user sa grupong
Halo_Admin.