Okta OAuth2 authentication
Only available in DranSCADA v7.0+
The Okta authentication allows your DranSCADA users to log in by using an external Okta authorization server.
Before you can sign a user in, you need to create an Okta application from the Okta Developer Console.
-
Log in to the Okta portal.
-
Go to Admin and then select Developer Console.
-
Select Applications, then Add Application.
-
Pick Web as the platform.
-
Enter a name for your application (or leave the default value).
-
Add the Base URI of your application, such as https://dranscada.example.com.
-
Enter values for the Login redirect URI. Use Base URI and append it with
/login/okta
, for example: https://dranscada.example.com/login/okta. -
Click Done to finish creating the Okta application.
- Add the following to the DranSCADA configuration file:
[auth.okta]
name = Okta
enabled = true
allow_sign_up = true
client_id = some_id
client_secret = some_secret
scopes = openid profile email groups
auth_url = https://<tenant-id>.okta.com/oauth2/v1/authorize
token_url = https://<tenant-id>.okta.com/oauth2/v1/token
api_url = https://<tenant-id>.okta.com/oauth2/v1/userinfo
allowed_domains =
allowed_groups =
role_attribute_path =
To limit access to authenticated users that are members of one or more groups, set allowed_groups
to a comma- or space-separated list of Okta groups.
allowed_groups = Developers, Admins
The allowed_domains
option limits access to the users belonging to the specific domains. Domains should be separated by space or comma.
allowed_domains = mycompany.com mycompany.org
DranSCADA can attempt to do role mapping through Okta OAuth. In order to achieve this, DranSCADA checks for the presence of a role using the JMESPath specified via the role_attribute_path
configuration option.
DranSCADA uses JSON obtained from querying the /userinfo
endpoint for the path lookup. The result after evaluating the role_attribute_path
JMESPath expression needs to be a valid DranSCADA role, i.e. Viewer
, Editor
or Admin
. Refer to Organization roles for more information about roles and permissions in DranSCADA.
Read about how to add custom claims to the user info in Okta. Also, check Generic OAuth page for JMESPath examples.