Esup NFC Tag

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Pour intégrer le badgeage de cartes dans une de vos applications (application de "métier" devant supporter le "badgeage"), vous devez donc proposer l'implémentation de ce Web Service.

...

Bloc de code
languagejava
@RequestMapping(value = "/getLocations", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
@ResponseBody
public List<String> getLocations(@RequestParam String eppn) {
	List<String> listSalles = new ArrayList<String>();
	listSalles.add("Salle de test");
	return listSalles;
}

Exemple d'appel avec curl :

Bloc de code
 curl https://mon-appli-metier.univ-rouen.fr/nfc-ws/getLocations?eppn=badgeur@univ-rouen.fr

Exemple de retour : 

Bloc de code
["Inscriptions Test 1", "Inscriptions Test 2"]

isTagable

La fonction isTagable doit permettre de déterminer si un badge est valide pour le lieu donné. Elle prend doit prendre en entrée un objet « Taglog » contenant au moins eppn et location.

...

Bloc de code
languagejava
@RequestMapping(value = "/isTagable", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<String> eppnCheck(@RequestBody EsupNfcTagLog esupNfcTagLog) {
	if(Math.random() <= 0.5) {
		return new ResponseEntity<String>("OK", responseHeaders, HttpStatus.OK);
	} else {
		return new ResponseEntity<String>("Carte invalide", new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR);
	}
}

Exemple d'appel avec curl :

Bloc de code
 curl -v -H "Content-Type: application/json" -d '{"eppn":"toto@univ-rouen.fr", "location":"Inscriptions Test 1"}' https://mon-appli-metier.univ-rouen.fr/nfc-ws/isTagable

Exemple de retour (erreur 500 ici : le badgeage n'est pas possible) : 

Bloc de code
* About to connect() to mon-appli-metier.univ-rouen.fr port 443 (#0)
*   Trying xxxxxxxxxxx..
* Connected to mon-appli-metier.univ-rouen.fr (10.0.128.31) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
* 	subject: CN=*.univ-rouen.fr,O=Université de Rouen,L=Mont-Saint-Aignan,ST=Seine-Maritime,C=FR
* 	start date: mai 25 00:00:00 2016 GMT
* 	expire date: mai 30 12:00:00 2019 GMT
* 	common name: *.univ-rouen.fr
* 	issuer: CN=TERENA SSL CA 3,O=TERENA,L=Amsterdam,ST=Noord-Holland,C=NL
> POST /nfc-ws/isTagable HTTP/1.1
> User-Agent: curl/7.29.0
> Host: mon-appli-metier.univ-rouen.fr
> Accept: */*
> Content-Type: application/json
> Content-Length: 65
> 
* upload completely sent off: 65 out of 65 bytes
< HTTP/1.1 500 Erreur Interne de Servlet
< Date: Tue, 23 May 2017 10:17:57 GMT
< Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips
< Content-Type: text/plain;charset=ISO-8859-1
< Content-Length: 15
< Connection: close
< 
* Closing connection 0
Carte en cours

validateTag

Cette fonction valide le badgeage et déclenche un traitement metier. ll doit prendre en entrée un objet « Taglog » contenant au moins eppn et location. Elle retourne un statut http 200 si le traitement s'est bien déroulé ou une erreur http 500 dans le cas contraire.

...