Konfiguration SyriusExporter mit EntraID / IDP

Konfiguration SyriusExporter mit EntraID / IDP

Für die Umstellung des SyriusExporters auf EntraID oder IDP ist eine neue Version des SyriusExporter nötig. Sollte diese nicht im Deployment Package ausgeliefert worden sein, kontaktieren Sie unseren Helpdesk oder Ihren direkten Ansprechpartner.

Bei den verschiedenen Authentifizirungsmethoden handelt es sich um die Authentifizierung zwischen RIK und Debit. Welche der Methoden verwendet wird, wird durch die Centris bestimmt. Die Authentifizierung mittels JWT SymmetricKey wurde von der Centris als Standardmässig verwendete Methode definiert. Diese wird jedoch noch nicht bei allen Kunden eingesetzt. Aus diesem Grund, muss die verwendete Methode vor der Umstellung auf EntraID oder IDP abgeklärt und die Umstellung gegebenenfalls mit der Centris abgestimmt werden.

Bestehende Authentifizierungsmethode ermitteln

Welche der untenstehenden Authentifizierungsmethoden durch den SyriusExporter verwendet wird, kann mittels der bestehenden Konfiguration analysiert werden. Im Verzeichnis des SyriusExporters ist ein “web.config” File abgelegt. Dieses kann mittels Notepad bearbeitet werden.

In der web.config müssen die verwendeten Parameter ermittelt und analysiert werden.

Ist der Parameter “JwtPublicKey” eingetragen, wird die Authentifizierungsmethode JWT PublicKey verwendet.

Sind die Parameter “JwtSub” und “JwtSecret” definiert, handeltes sich um die Authentifizierungsmethode JWT SymmetricKey.

Ist keiner der oben genannten Parameter eingetragen und / oder der Parameter “ApiKey” ist definiert, handeltes sich um die Authentifizierungsmethode BinarySecurityToken.

Wird für eingehende Meldungen ein BinarySecurityToken als Authentifizierung verwendet, ist bei der Umstellung ebenfalls eine Anpassung auf Seiten der Centis notwendig.

App Registration EntraID direkt Anbindung (für IDP nicht nötig)

Die APP Registration für den SyriusExporter kann analog der WebAPI App Registartion erstellt werden. Siehe Dokumentation: https://egeliinformatik.atlassian.net/wiki/x/QoGkF

Konfiguration Web.config File

Die Parameter im web.config File dürfen nicht entfernt werden. Werden die Parameter nicht benötigt, müssen diese leer belassen werden.

Web.config mit JWT SymmetricKey

Parameter

Value mit EntraID

Value mit IDP

Parameter

Value mit EntraID

Value mit IDP

DebitServiceUrl

Debit Service URL (Binding in IIS oder aus bestehender web.config)

Debit Service URL (Binding in IIS oder aus bestehender web.config)

IdpServiceUrl

https://login.microsoftonline.com/$tenantId/v2.0

https://idp-Kundenname.egeli-apps.ch

IdpClient

ClientID der App Registration

(Bsp. 309e9087-4312-4538-b289-fc3c637d755f)

ClientID des IDP Clients

(Bsp. debit_prod_syrius)

IdpSecret

App Registration Secret

Client Secret

Scopes

api://Debit-Template/.default

Allowed Scopes aus IDP Client (Bsp. debit_prod_syrius)

JwtSecret

gemäss Centris oder aus bestehender web.config

gemäss Centris oder aus bestehender web.config

<appSettings> <add key="DebitServiceUrl" value="__ServiceBaseUrl__" /> <add key="IdpServiceUrl" value="__idp:ServiceUrl__" /> <add key="IdpClient" value="__idp:Client__" /> <add key="IdpSecret" value="__idp:Secret__" /> <add key="Scopes" value="__idp:elegoScope__" /> <add key="MaxErrorMessageLength" value="1000" /> <add key="ProxyUrl" value="" /> <add key="ProxyUser" value="" /> <add key="ProxyPassword" value="" /> <add key="ProxyDomain" value="" /> <add key="JwtSecret" value="__JwtSecret__" /> <add key="JwtPublicKey" value="" /> <add key="JwtIssuer" value="" /> <add key="JwtAudience" value="" /> <add key="JwtAlgorithm" value="" /> <add key="CredentialsDelimiter" value="" /> </appSettings>

Web.config mit IDP Credentials-Token (BinarySecurityToken)

DebitServiceUrl

Debit Service URL (Binding in IIS oder aus bestehender web.config)

Debit Service URL (Binding in IIS oder aus bestehender web.config)

IdpServiceUrl

https://login.microsoftonline.com/$tenantId/v2.0

https://idp-Kundenname.egeli-apps.ch

Scopes

api://Debit-Template/.default

Allowed Scopes aus IDP Client (Bsp. debit_prod_syrius)

CredentialsDelimiter

Absprache mit Centris nötig. Standard mässig werden 3 Minuszeichen verwendet. Der Token ist folgendermassen aufgebaut “ClientID---Secret”

Absprache mit Centris nötig. Standard mässig werden 3 Minuszeichen verwendet. Der Token ist folgendermassen aufgebaut “ClientID---Secret”

<appSettings> <add key="DebitServiceUrl" value="__ServiceBaseUrl__" /> <add key="IdpServiceUrl" value="__idp:ServiceUrl__" /> <add key="IdpClient" value="__idp:Client__" /> <add key="IdpSecret" value="__idp:Secret__" /> <add key="Scopes" value="__idp:elegoScope__" /> <add key="MaxErrorMessageLength" value="1000" /> <add key="ProxyUrl" value="" /> <add key="ProxyUser" value="" /> <add key="ProxyPassword" value="" /> <add key="ProxyDomain" value="" /> <add key="JwtSecret" value="" /> <add key="JwtPublicKey" value="" /> <add key="JwtIssuer" value="" /> <add key="JwtAudience" value="" /> <add key="JwtAlgorithm" value="" /> <add key="CredentialsDelimiter" value="__CredentialsDelimiter__" /> </appSettings>

Web.config mit JWT PublicKey

Parameter

Value mit EntraID

Value mit IDP

Parameter

Value mit EntraID

Value mit IDP

DebitServiceUrl

Debit Service URL (Binding in IIS oder aus bestehender web.config)

Debit Service URL (Binding in IIS oder aus bestehender web.config)

IdpServiceUrl

https://login.microsoftonline.com/$tenantId/v2.0

https://idp-Kundenname.egeli-apps.ch

IdpClient

ClientID der App Registration

(Bsp. 309e9087-4312-4538-b289-fc3c637d755f)

ClientID des IDP Clients

(Bsp. debit_prod_syrius)

IdpSecret

App Registration Secret

Client Secret

Scopes

api://Debit-Template/.default

Allowed Scopes aus IDP Client (Bsp. debit_prod_syrius)

JwtPublicKey

gemäss Centris oder aus bestehender web.config

gemäss Centris oder aus bestehender web.config

JwtIssuer

gemäss Centris oder aus bestehender web.config

gemäss Centris oder aus bestehender web.config

JwtAudience

gemäss Centris oder aus bestehender web.config

gemäss Centris oder aus bestehender web.config

JwtAlgorithm

gemäss Centris oder aus bestehender web.config

gemäss Centris oder aus bestehender web.config

<appSettings> <add key="DebitServiceUrl" value="__ServiceBaseUrl__" /> <add key="IdpServiceUrl" value="__idp:ServiceUrl__" /> <add key="IdpClient" value="__idp:Client__" /> <add key="IdpSecret" value="__idp:Secret__" /> <add key="Scopes" value="__idp:elegoScope__" /> <add key="MaxErrorMessageLength" value="1000" /> <add key="ProxyUrl" value="" /> <add key="ProxyUser" value="" /> <add key="ProxyPassword" value="" /> <add key="ProxyDomain" value="" /> <add key="JwtSecret" value="" /> <add key="JwtPublicKey" value="__JwtPublicKey__" /> <add key="JwtIssuer" value="__JwtIssuer__" /> <add key="JwtAudience" value="__JwtAudience__" /> <add key="JwtAlgorithm" value="__JwtAlgorithm__" /> <add key="CredentialsDelimiter" value="" /> </appSettings>

Logfile Path anpassen

Der Logfile Path kann angepasst werden, in dem in der web.config der folgende Parameter “__LogPathGlobalRIKMeldungExporter__“ ersetzt wird. Es muss der File Pfad inklusive Namen eigetragen werden. Hinter dem Namen wird das aktuelle Datum hinzugefügt. Bsp. “D:\Debit\Data\Logs\SyriusExporter_”

<log4net> <appender name="DailyRollingFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="__LogPathGlobalRIKMeldungExporter__" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <datePattern value="yyyyMMdd'.log'" /> <staticLogFileName value="false" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date %-5level %logger - %message%newline" /> </layout>