Configure a web application
- Last Updated: January 17, 2024
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
To configure a web application to use the OpenEdge Authentication Gateway, set the following properties in the PAS for OpenEdge web application's instance_name/webapps/Web_app_name/WEB-INF/oeablSecurity.properties file:
- Enable the use of an STS AuthenticationProvider by setting the
http.all.authmanagertosts:http.all.authmanager=sts - Specify the URL for the Authentication Gateway connection by setting the
sts.UserDetails.stsURLproperty:sts.UserDetails.stsURL=https://oeag-dns-name:oeag-port-number - (Optional) Enable the -nohostverify option
to turn off host verification.
sts.UserDetails.noHostVerify=trueNote: -nohostverify is only for servers used for application development and testing. - (Optional) Specify a fixed OpenEdge domain name that is appended to the
client's user ID before authenticating with the Authentication Gateway's
STS.
sts.AuthProvider.userDomain=sts-configured-domain-name - (Optional) Specify the directory where the STS AuthenticationProvider looks
for the Authentication Gateway's client key file:
The STS AuthenticationProvider searches oeablSecurity.properties files for a specifiedsts.UserDetails.stsKeystore=client-key_pathnamests.UserDetails.stsKeystorevalue in the following order and uses the first value it finds:- $CATALINA_BASE/webapps/web-app-name/WEB-INF/
- $CATALINA_BASE/ablapps/abl-app-name/conf/
- $CATALINA_BASE/conf/
- $CATALINA_HOME/conf/
If the path to the client key file is not specified in any of those oeablSecurity.properties files, the value of the
STSKEYSTOREmulti-session Agent process environment variable is used. And ifSTSKEYSTOREis not set, the default client key file inopenedge_install_dir/keysis used. - (Optional) Use the sniHost property when the OpenEdge Authentication Gateway
server is configured with multiple virtual hosts that are bound to a single IP
address. Specify the hostname that you want your web application to connect
to.
The web application requests the virtual host's TLS certificate during the TLS handshake instead of the Server URL's host.sts.UserDetails.sniHost=virtual-hostname
Next, edit the web application's URL access control file, instance_name/webapps/Web_app_name/WEB-INF/oeablSecurity.csv. If
your URL access controls are role-based (for example, when a user must be assigned a
particular role to gain access), you must change the hasRole(...) field to include one of the role names inserted into a client
principal issued by the Authentication Gateway's STS.
hasRole(...) and the client principal issued by the
Authentication Gateway's STS does not include a role attribute, access to some of the
application's URLs will be rejected.Finally, optionally specify any advanced STS AuthenticationProvider properties, which include, but are not limited to:
- Customized TLC connection attributes
- A customized HTTP header name that is used to pass client-key authorization to an STS
- A customized HTTP User-agent header value that identifies the client to an STS
Detailed description of these advanced properties can be found in the instance_name/conf/oeablSecurity.properties.README file.