Konfigurácia autentifikácie
...
SmartWeb aplikácie má nasledovnú štruktúru v súbore smartweb.json
...
. Príklady konfigurácie sú uvedené nižšie.
Blok kódu |
---|
language | js |
---|
title | smartweb.json |
---|
|
{
/* objekt s konfiguráciou autentifikácie používateľov */
"authentication": {
"authModes": [
"AUTH_AUTO_LOGON_IN_SESSION", // automatické prihlásenie do D2000 bez zobrazenia prihlasovacej obrazovky
"AUTH_CREDENTIALS_IN_SESSION", // autentifikácia mena/hesla k D2000 používateľovi
"AUTH_CREDENTIALS_IN_RPC", // autentifikácia mena/hesla cez RPC (aplikačne definovaný používatelia)
"AUTH_CERTIFICATE_LOCALLY", // autentifikácia certifikátu k lokálnemu keystoru
"AUTH_CERTIFICATE_REMOTELY", // autentifikácia certifikátu cez RPC ku keystoru spravovanému v D2000
"AUTH_SPNEGO_REMOTELY", // Single Sign On autentifikácia cez SPNEGO token posielany do D2000 na overenie
],
// definícia D2000 použivateľa na vytvorenie JAPI session
// iba pre mód AUTH_AUTO_LOGON_IN_SESSION alebo AUTH_CREDENTIALS_IN_RPC
"authSessionUsername": "D2000UserName", // usernamepoužívateľské meno do D2000
"authSessionPassword": "D2000UserPassword", // heslo do D2000
// cesta ku keystore a koreňový certifikát na validáciu klientských certifikátov
// iba pre mód AUTH_CERTIFICATE_LOCALLY
"keystorePath": "C:\cesta ku keystore\keystore.jks",
"caCertificateAlias": "SmartWebUsersCert", // alias koreňového certifikátu v keystore.jks,
// definícia autentifikačnej RPC, iba pri zapnutom móde AUTH_CREDENTIALS_IN_RPC
"authRpc": {
"eventName": "E.SWSMARTWEB_DT_ConnectUSER",
"interfaceName": "I.XXX",
"methodName": "verifyX509Certificateauthenticate",
"useJava": "false"
},
"authRpcParams": [ // poradie parametrov volanej autentifikačnej metódy, povinný je len OUT parameter _OK (BOOL);
"USERNAME",
"PASSWORD",
"CERTIFICATE",
"NONE",
"_OK"
],
// definícia logOn RPC metódy, volaná automaticky po úspešnej autentifikácie, nepovinný OUT parameter _OK (BOOL) identifikuje úspešnosť volania logOn metódy;
"logOnRpc": {
"eventName": "E.SW_DT_Connect",
"interfaceName": "I.XXX",
"methodName": "logOn",
"useJava": "false"
},
"logOnRpcParams": [ // poradie parametrov volanej logOn metódy, povinný je len OUT parameter _OK (BOOL);
"USERNAME",
"PASSWORD",
"CERTIFICATE",
"NONE",
"_OK"
],
"logOutRpc": {
"eventName": "E.SW_DT_Connect",
"interfaceName": "I.XXX",
"methodName": "logOff",
"useJava": "false"
},
"localAdminUsername":"swadmin", // administrator account for Smart Web admin console (not authorized via D2000 user account, used solely for Admin Console access)
"localAdminPassword":"swpass" // // administrator account password for Smart Web admin console
}
} |
Príklady konfigurácie
Jednoduchá autentifikácia cez D2000 používateľov
Blok kódu |
---|
language | js |
---|
title | smartweb.json |
---|
|
{
"authentication": {
"authModes": [
"AUTH_CREDENTIALS_IN_SESSION"
]
}
} |
Jednoduchá autentifikácia cez aplikačne definovaných používateľov
V nasledujúcej konfigurácii je naviac zaregistrovaná aj "logOn" metóda z dôvodu identifikácie aktuálne prihláseného používateľa vo volaných RPC metódach.
Blok kódu |
---|
language | js |
---|
title | smartweb.json |
---|
|
{
"authentication": {
"authModes": [
"AUTH_CREDENTIALS_IN_RPC"
],
// preddefinované username D2000 používateľa s ktorým sa bude vytvárať session
"authSessionUsername": "D2000UserName",
// preddefinované heslo D2000 používateľa s ktorým sa bude vytvárať session
"authSessionPassword": "D2000UserPassword",
// definícia autentifikačnej RPC
"authRpc": {
"eventName": "E.SW_APPLICATION_AUTH",
"methodName": "authenticate"
},
"authRpcParams": [
"USERNAME",
"PASSWORD",
"_OK"
],
// definícia logOn RPC metódy
"logOnRpc": {
"eventName": "E.SW_APPLICATION_AUTH",
"methodName": "logOn"
},
"logOnRpcParams": [
"USERNAME",
"_OK"
]
}
} |
Autentifikácia cez D2000 používateľov a lokálne overovanie klientských certifikátov
Overovanie klientských certifikátov prebieha lokálne v SmartWeb aplikácii. Všetky klientské certifikáty musia byť uložené v keystore pod aliasom identickým s prihlasovacím menom (pozor na case sensitivity) a musia byť podpísané koreňovým certifikátom smenom definovaným v caCertificateAlias
atribúte konfigurácie. Pre úspešnú konfiguráciu potrebné správne nakonfigurovať element authentication
v súbore standalone.xml
aplikačného servera Wildfly. Klientské certifikáty je potrebné generovať podľa postupu popísaného v kapitole Správa klientských certifikátov.
Blok kódu |
---|
language | js |
---|
title | smartweb.json |
---|
|
{
"authentication": {
"authModes": [
"AUTH_CREDENTIALS_IN_SESSION",
"AUTH_CERTIFICATE_LOCALLY"
],
// cesta ku keystore s klientskými certifikátmi a koreňovým certifikátom na validáciu klientských certifikátov
"keystorePath": "C:\cesta ku keystore\keystore.jks",
"caCertificateAlias": "SmartWebUsersCert" // alias koreňového certifikátu v keystore.jks,
}
} |
Autentifikácia cez D2000 používateľov a vzdialené overovanie klientských certifikátov
Overovanie klientských certifikátov prebieha v D2000 volaním autentifikačnej RPC metódy s parametrom, cez ktorý sa pošle Base64 serializovaný certifikát.Pre úspešnú konfiguráciu potrebné správne nakonfigurovať element authentication
v súbore standalone.xml
aplikačného servera Wildfly, kde keystore súbor musí obsahovať koreňový certifikát s ktorým sú podpísané všetky klientské certifikáty.
Blok kódu |
---|
language | js |
---|
title | smartweb.json |
---|
|
{
/* objekt s konfiguráciou autentifikácie používateľov */
"authentication": {
"authModes": [
"AUTH_CREDENTIALS_IN_SESSION",
"AUTH_CERTIFICATE_REMOTELY"
],
// definícia autentifikačnej RPC
"authRpc": {
"eventName": "E.SW_APPLICATION_AUTH",
"methodName": "authenticate"
},
"authRpcParams": [
"USERNAME",
"CERTIFICATE",
"_OK"
]
}
} |
Autentifikácia cez aplikačne definovaných používateľov a lokálne overovanie klientských certifikátov
Overovanie klientských certifikátov prebieha lokálne v SmartWeb aplikácii. Všetky klientské certifikáty musia byť uložené v keystore pod aliasom identickým s prihlasovacím menom (pozor na case sensitivity) a musia byť podpísané koreňovým certifikátom smenom definovaným v caCertificateAlias
atribúte konfigurácie. Pre úspešnú konfiguráciu potrebné správne nakonfigurovať element authentication
v súbore standalone.xml
aplikačného servera Wildfly. Klientské certifikáty je potrebné generovať podľa postupu popísaného v kapitole Správa klientských certifikátov. V nasledujúcej konfigurácii je naviac zaregistrovaná aj "logOn" metóda z dôvodu identifikácie aktuálne prihláseného používateľa vo volaných RPC metódach.
Blok kódu |
---|
language | js |
---|
title | smartweb.json |
---|
|
{
"authentication": {
"authModes": [
"AUTH_CREDENTIALS_IN_RPC",
"AUTH_CERTIFICATE_LOCALLY"
],
// preddefinované username D2000 používateľa s ktorým sa bude vytvárať session
"authSessionUsername": "D2000UserName",
// preddefinované heslo D2000 používateľa s ktorým sa bude vytvárať session
"authSessionPassword": "D2000UserPassword",
// cesta ku keystore s klientskými certifikátmi a koreňovým certifikátom na validáciu klientských certifikátov
"keystorePath": "C:\cesta ku keystore\keystore.jks",
"caCertificateAlias": "SmartWebUsersCert", // alias koreňového certifikátu v keystore.jks,
// definícia autentifikačnej RPC
"authRpc": {
"eventName": "E.SW_APPLICATION_AUTH",
"methodName": "authenticate"
},
"authRpcParams": [
"USERNAME",
"PASSWORD",
"_OK"
],
// definícia logOn RPC metódy
"logOnRpc": {
"eventName": "E.SW_APPLICATION_AUTH",
"methodName": "logOn"
},
"logOnRpcParams": [
"USERNAME",
"_OK"
]
}
} |
Autentifikácia cez aplikačne definovaných používateľov a vzdialené overovanie klientských certifikátov
Overovanie klientských certifikátov prebieha v D2000 volaním autentifikačnej RPC metódy s parametrom, cez ktorý sa pošle Base64 serializovaný certifikát. Pre úspešnú konfiguráciu potrebné správne nakonfigurovať element authentication
v súbore standalone.xml
aplikačného servera Wildfly, kde keystore súbor musí obsahovať koreňový certifikát s ktorým sú podpísané všetky klientské certifikáty. V nasledujúcej konfigurácii je naviac zaregistrovaná aj "logOn" metóda z dôvodu identifikácie aktuálne prihláseného používateľa vo volaných RPC metódach.
Blok kódu |
---|
language | js |
---|
title | smartweb.json |
---|
|
{
/* objekt s konfiguráciou autentifikácie používateľov */
"authentication": {
"authModes": [
"AUTH_CREDENTIALS_IN_RPC",
"AUTH_CERTIFICATE_REMOTELY"
],
// preddefinované username D2000 používateľa s ktorým sa bude vytvárať session
"authSessionUsername": "D2000UserName",
// preddefinované heslo D2000 používateľa s ktorým sa bude vytvárať session
"authSessionPassword": "D2000UserPassword",
// definícia autentifikačnej RPC
"authRpc": {
"eventName": "E.SW_APPLICATION_AUTH",
"methodName": "authenticate"
},
"authRpcParams": [
"USERNAME",
"PASSWORD",
"CERTIFICATE",
"_OK"
],
// definícia logOn RPC metódy
"logOnRpc": {
"eventName": "E.SW_APPLICATION_AUTH",
"methodName": "logOn"
},
"logOnRpcParams": [
"USERNAME",
"_OK"
]
}
} |
Single Sign On autentifikácia cez SPNEGO token
Pre funkčnosť Single Sign On autentifikacie je potrebné nastaviť parameter na maske používateľa SPNEGO a parameter aplikácie AuthSecPrinc. Konfigurácia smartweb.json musí mať nasledovné parametre:
Blok kódu |
---|
language | js |
---|
title | smartweb.json |
---|
|
{
"authentication": {
"authModes": [
"AUTH_SPNEGO_REMOTELY",
"AUTH_CREDENTIALS_IN_SESSION" // druhý mód autentifikácie je nevyhnutný iba pokiaľ chceme povoliť aj prihlasovanie cez meno a heslo v prípade ak SSO autentifikacia zlyhala
],
}
} |
Automatická autentifikácia cez preddefinovaného D2000 používateľa bez prihlasovacej obrazovky
Blok kódu |
---|
language | js |
---|
title | smartweb.json |
---|
|
{
"authentication": {
"authModes": [
"AUTH_AUTO_LOGON_IN_SESSION"
],
// preddefinované username D2000 používateľa s ktorým sa bude vytvárať session
"authSessionUsername": "D2000UserName",
// preddefinované heslo D2000 používateľa s ktorým sa bude vytvárať session
"authSessionPassword": "D2000UserPassword"
}
} |