Page tree
Skip to end of metadata
Go to start of metadata

Konfigurácia autentifikácie SmartWeb aplikácie má nasledovnú štruktúru v súbore smartweb.json. Príklady konfigurácie sú uvedené nižšie.

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",		// použí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.SMARTWEB_USER",
			"interfaceName": "I.XXX",
    		"methodName": "authenticate",
			"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"
	    }		
	}	
}

Príklady konfigurácie

Jednoduchá autentifikácia cez D2000 používateľov

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.

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.

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.

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.

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.

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:

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

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" 						
	}	
}
Write a comment…