Okta Identity Cloud Service
Open ID Connect
Okta Identity Cloud Service can be integrated as an Identity Provider for Rocket.Chat via its Open ID Connect support.
Configuring Rocket.Chat
Create a Custom Oauth provider
Login to Rocket.Chat with an administrator account and navigate to the OAuth page.
Click the Add custom OAuth button and provide the following configurations.
Give the custom OAuth a unique name. For this example we will use okta.
Enabled: True
URL: The URL to your okta domain on okta.com with a suffix of /oauth2/v1. For example:
https://mycompany.okta.com/oauth2/v1
Token: /token
Token Sent Via: Header
Identity Token Sent Via: Same as Token Sent Via
Identity Path: /userinfo
Authorize Path: /authorize
Scope: openid email profile groups offline_access
Param Name for access token: access_token
id: Set to the Client ID in the Okta app Client Credentials below.
Secret: Set to the Client secret in the Okta app Client Credentials below.
Login Style: Either setting works. Popup with pop up the Okta check/login in another window. Redirect will redirect the current page.
Button Text: Set to personal preference.
Button Text Color: Set to personal preference.
Button Color: Set to personal preference.
Username field: preferred_username
Avatar field: Was not used on our Okta instance. Further research will be required to use this.
Roles/Groups field name: roles
Merge Roles from SSO: Our server syncs from LDAP, so we left this false.
Merge users: Our server syncs from LDAP, so we left this false.
Configuring the Identity Provider
Adding a new Application in Okta
Create a new app on your Okta Application Dashboard.
Select Web as the Platform.
Select OpenID Connect as the Sign on method. Click Create to open the window to create the new integration.
Update the application name and redirect URI. The redirect URI is the same callback URL displayed after creating the custom OAuth in your Rocket.Chat workspace.
Click Save. You are redirected to the General Settings for the new app.
Copy the Client ID to the Rocket.Chat id field on your workspace OAuth settings page.
Copy the Client secret to the Rocket.Chat secret field on your workspace OAuth settings page.
Testing
Everything should be configured appropriately now. You can now assign users or group users to your integration app on the Okta Dashboard and then test the login on your Rocket.Chat instance.