Use Cases
HomeIntegrityControlManagement CenterSolutions
  • Get Started
  • Integrity | Access
    • Auth. methods
      • LDAP (Username/Password)
      • LDAP (Username/Password) + OTP (SMTP)
      • LDAP (Username/Password) + OTP (SMS)
      • Swedish BankID
      • Microsoft Entra ID (SAMLSPBroker)
      • Foregin eID (SAMLSPBroker)
    • Auth. methods (SAML)
      • One-Time Password (OATH)
      • Inera IdP (SITHS) (SAMLSPBroker)
      • ID-porten (Norway) (SAML IdP with OIDC RP)
      • Multiple SAML IdP's configured
        • Multiple JSON files
    • Auth. methods (OIDC)
      • Static values (OIDC) - Test only
      • Swedish BankID (OIDC)
      • UID/PWD (OIDC)
    • Auth. methods (MISC)
      • Selector filtering
      • AuthZ control
      • External links and Cancel location
    • Add a Federation or SAML SP
  • Integrity | Portal
    • Portal
  • Integrity | Enrollment
    • Software token (OATH)
    • Best practice configuration
  • Integrity | Radius
    • UID/OATH token
    • UID/Password/OATH token
    • UID/Password/SMTP
  • Integrity | API
    • Swedish Siths eID
    • Oath Token
  • Control | Applications
    • Password Reset
    • Password Reset for Entra ID
    • Password Reset for Google Workspace
  • OPERATION
    • Rolling upgrade - cluster
  • TROUBLESHOOTING
    • Wrong relaystate
  • Misc
    • Address configuration externally
    • ADFS
      • Protect Fortified ID apps
      • Install and configure Fortified ID ADFS adapter for Siths eID
      • Install and configure Fortified ID ADFS adapter for Oath
    • AWS
      • Protect AWS Cognito with eID MFA
      • Protect AWS IAM Identity Center with eID MFA
    • Customization
      • Overlay - WEB
      • Overlay - Portal
      • Overlay - Password Reset
      • Overlay - Enrollment
      • Logout page
    • Dependency-Track - protect with eID MFA and SSO
    • Digitala Nationella Prov (DNP) / Skolfederation
      • Active Directory Federation Services (ADFS) with BankID as step-up-method
      • Active Directory / LDAP with BankID as step-up-method
      • Entra ID (Azure AD) with BankID as step-up-method
      • Google with BankID as step-up-method
      • Generate eduPersonPrincipalName (eppn) and store in Google
      • Generate eduPersonPrincipalName (eppn) and store in Entra ID
      • Common configuration
    • Encrypt configuration secrets
    • Microsoft Entra
      • Protect Entra ID (Azure AD) with eID MFA
      • Entra External - Support for eID (SAML)
      • Entra External - Support for eID (OIDC)
    • Expressions
    • Google
      • Common configuration for Google Workspace - Directory API
      • Common configuration for Google Workspace - authentication for Fortified ID products
      • Delegated administration for Google Workspace - teacher updates student guardians
      • Delegated administration for Google Workspace - teacher updates student password
      • Protect Google Workspace with eID MFA
    • HTTPS
    • Protect sensitive data, such as social security numbers, through obfuscation
    • Reverse proxy
      • Install Apache Web Server on Windows
      • Add SSL certificate and enable https
      • Add a Fortified ID virtual host
    • Set AuthnContextClassRef
    • Wiki.js - OpenID Connect (OIDC)
Powered by GitBook
On this page
  • Scenario
  • Prerequisite
  • Configuration
  • Download and add configuration
  • Update the configuration to map your environment
  • Test the use case
  • Login using mail as UserID and Password
  • Complete config.json file of Portal
  1. Integrity | Access

Auth. methods (OIDC)

PreviousMultiple JSON filesNextStatic values (OIDC) - Test only

Last updated 1 year ago

Scenario

In this use case, users will use a portal to access application in an organisation. Since Portal act as a SAML Service Provider (SP) you can decide on the SAML IdP side how users should authenticate themselves. In this use case we will use FortifiedID Integrity WEB as the SAML IdP (Identity Provider).

The IdP selector will provide one authenticator:

  • Username and Password This authenticator is used to show to login using an LDAP account. As LDAP creating this use case we used an Active Directory. For username we use mail attribute on an Active Directory user.

We will use Microsoft Active Directory as user store.

Prerequisite

  • FortifiedID Integrity Web current version

  • Fortified Portal 2.0 current version

  • LDAP directory. Location are the users to authenticate. The example code is configured to use an Active Directory. We are using mail attribute of the Active Directory user. Make sure you have two test users, Anna Anderson and Paul Holmgren, created with following LDAP attribute:

    • Anna Anderson

      • Anna Anderson (displayName)

      • annaa (sAMAccountName)

      • anna.anderson@fortifiedid.se (mail)

      • aws; citrix; office365; servicenow; slack; vmware; zoom (carlicense) Above are the apps that will be used in the use case. We store the values in the multi-value attribute CarLicense. Make sure you type in lower case.

      • Set a password

    • Paul Holmgren

      • paul Holmgren (displayName)

      • paulh (sAMAccountName)

      • paul.holmgren@fortifiedid.se (mail)

      • Google_Workspace; Office365; Zoom (carlicense) Above are the apps that will be used in the use case. We store the values in the multi-value attribute CarLicense.

      • Set a password

  • Server platform. Docker, Windows or Linux. In this use case we have used a Windows server with an Active Directory.

Configuration

Download and add configuration

Remember that this use case does not describe installation of the products. Products are expected to be installed in advanced.

  1. Download ZIP containing configuration for Web and Portal

    1. Unzip the downloaded file

  2. Add Integrity WEB configuration to your environment

    1. Add the customer_WEB folder to you \..\fortifiedid\web\ folder. Rename the existing customer folder to customer_ORG and rename the added one to \customer.

  3. Add Portal configuration to your environment.

    1. Add the customer_PORTAL folder to you \..\fortifiedid\portal\ folder. Rename the existing customer folder to customer_ORG and rename the added one to \customer.

Update the configuration to map your environment

The downloaded folders contains all information needed. For example, a test certificate and metadata files are included and configured to work with the example applications. However, some data needs to be changed to map your environment. You need to update the LDAP data to map your environment. Since this example was done on a Windows server you might need to update file paths if you run something else. Also the http ports might need to be changed if they are not available in your environment.

To make it easy both application folders have a file called globals.json that contains the data you need to change. Config.json uses the variables in globals.json.

  1. Open globals.json for \..\fortifiedid\portal\customer\config and \..\fortifiedid\web\customer\config folder and update:

    1. LDAP data to map you environment if needed

    2. File paths

    3. HTTP if needed

  2. When updated, start Integrity WEB and Portal in order described below.

    1. Start Fortified ID WEB service. Wait until service is started before moving on. Verify server.log file that service running without errors.

    2. Start Fortified ID Portal service Verify server.log file that service running without errors.

Test the use case

Login using mail as UserID and Password

  1. Open a browser

  2. Browse to http://localhost:8445/portal You should now be redirected to http://localhost:8443/saml/authn/auth01

  3. First log in as Paul Holmgren

    1. In UserID, add paul.holmgren@fortifiedid.se and whatever password you configured then click Sign in.

    2. For Paul Holmgren the result should be:

  4. Second, log in as Anna Anderson

    1. In UserID, add anna.anderson@fortifiedid.se and whatever password you configured then click Sign in.

    2. For Anna Anderson the result should be:

  5. As you can see above the, in this scenario, carLicense attribute will decide what application that are available for the user.

Complete config.json file of Portal

The config.json of Web can be found in the associated zip-file in this use case.

{
	"globals": "@include:globals.json",
	"modules": [{
			"name": "CefEventModule",
			"config": {}
		},
		{
			"name": "HttpClient",
			"config": {
				"name": "default",
                "ssl_trust_all": true,
				"idle_timeout_ms": 5000,
				"connect_timeout_ms": 5000
			}
		},
		{
			"name": "Portal",
			"config": {
                "http_port": "${globals.http.port}",
				"webroot_dir": "resources/web",
				"http_use_ssl": true,
                "http_keystore_ref": {
                    "type": "${globals.keystore.https.ref.type}",
                    "path": "${globals.keystore.https.ref.path}",
                    "password": "${globals.keystore.https.ref.password}"
                },
                "http_keystore_type": "${globals.keystore.https.type}",
                "http_key_alias": "${globals.keystore.https.http_key_alias}",
                "http_key_password": "${globals.keystore.https.http_key_password}",
				"http_context": "/portal",
				"http_auth_redirect_url": "/portal/authn/login",
				"overlay_dirs": [
				"${globals.file_paths.base_dir}/config/resources_external/overlays/1_portal",
				"${globals.file_paths.base_dir}/config/resources_external/overlays/0_look_and_feel",
				"${globals.file_paths.base_dir}/config/resources_external/overlays/"
				],				
				"applications": "@include:resources_internal/applications"
			}
		},
		{
			"name": "AuthN",
			"config": {
				"http_port": "${globals.http.port}",
                "http_use_ssl": true,
                "http_keystore_ref": {
                    "type": "${globals.keystore.https.ref.type}",
                    "path": "${globals.keystore.https.ref.path}",
                    "password": "${globals.keystore.https.ref.password}"
                },
                "http_keystore_type": "${globals.keystore.https.type}",
                "http_key_alias": "${globals.keystore.https.http_key_alias}",
                "http_key_password": "${globals.keystore.https.http_key_password}",
				"authenticators": [{
					"id": "sp_portal",
					"type": "SAMLSP",
					"config": {
						"context_path": "/portal/authn/login",
						"success_location": "/portal/",
						"logout_location": "/portal/logged_out",
						"metadata_output_directory": "${globals.file_paths.base_dir}/config/resources_internal/saml_sp_metadata",
						"metadata": {
							"url": "https://localhost:8443/saml/metadata/fortifiedid_web_saml_idp_1"
						},
						"entity_id": "FortifiedID_Portal",
						"metadata_file_path": "${globals.file_paths.base_dir}/config/resources_internal/saml_sp_metadata_template/fortifiedid_portal_saml_sp_template.xml",
						"sign_ref": [{
							"keystore": {
                                        "alias": "${globals.keystore.saml.sign_ref_keystore_alias}",
                                        "key_password": "${globals.keystore.saml.sign_ref_keystore_key_password}",
                                        "password": "${globals.keystore.saml.sign_ref_keystore_password}",
                                        "path": "${globals.keystore.saml.sign_ref_keystore_path}"
                                    }
						}]
					}
				}]
			}
		}
	]
}

Click to download customer folders for Web and Portal.

USE_CASE_LINK