Use AD FS as OIDC Identity Provider¶
For the prerequisites and the configuration on AD FS side, refer to the SEAL Interfaces for OIDC documentation.
On AD FS side, two server applications with Web API have to be configured, one for the Client Credential Flow between the services and one for the Code Flow used for the interactive logon. Each server application has an ID and a secret which have to be configured with SEAL Operator.
Configure the SEAL Operator Part¶
In SEAL Operator, configure the keys for AD FS:
-
Export the complete configuration of SEAL Operator from Consul to a YAML file in order to ensure that the current configuration settings are used.
operator config export <filename>.yml --insecure
-
In the
env
section, specify the following keys for all services:-
AUTH_CLIENT_SECRET
: Secret generated when configuring the first server application in AD FS above -
AUTH_CLIENT_ID
: ID generated when configuring the first server application in AD FS above -
AUTH_ISSUER_URL
: This URL is used by the services for connecting to the AD FS provider. -
ID_PROVIDER_NAME
: Name of the AD FS; hint: Even configured to use the HTTPS protocol, the URL provided here comes without HTTPS protocol and uses HTTP protocol as URI! -
ID_PROVIDER_CERT
: Absolute path and file name to the certificate file exported above (optional) -
TRUSTED_CLIENT
: Client name configured in AD FS for granting access via access token; the information is contained in the token. This URI is used to check the token from the AD FS. It is a combination of two partsmicrosoft:identityserver:<client_identifier>
.
-
-
In the
env
section, specify the following keys for theoperator-ui
service:-
AUTH_CLIENT_SECRET
: Secret generated when configuring the second server application in AD FS above -
AUTH_CLIENT_ID
: ID generated when configuring the second server application in AD FS above
Example - AD FS configuration in SEAL Operator
env: service: any: tag: any: ... AUTH_CLIENT_SECRET: ZveeFKncasjTvkCVul7jS_d_SdlltJLgFeW2-4IU AUTH_CLIENT_ID: f20d7f7b-6e78-4259-a796-85946aeaaa27 AUTH_TOKEN_ENDPOINT: https://oictest.de/adfs/oauth2/token AUTH_ISSUER_URL: https://oictest.de/adfs/ ID_PROVIDER_NAME: http://oictest.de/adfs/services/trust ID_PROVIDER_CERT: c:\cert\export_token_signing.cer TRUSTED_CLIENT: microsoft:identityserver:f20d7f7b-6e78-4259-a796-85946aeaaa27 ... operator-ui: tag: any: ... AUTH_CLIENT_SECRET: TJ79W3mMnvPDJ6Ax0kGt8YFz-0ooF3HNdRUpy6as AUTH_CLIENT_ID: ab762716-544d-4aeb-a526-687b73838a33 ...
-
-
Save the file
<filename>.yml
and re-import it to Consul.operator config import <filename>.yml --insecure
Literature - keys
For further information about the available keys, refer to the description of the Keys.
Hint - content of a token
By means of https://jwt.io/, you can decode the token and see its content.