# Implementation
HvA project Implementation - 2015
Currently under development
This project implementation, for the University of Applied Sciences of Amsterdam
Feel free to copy/use it for your own project.
Keep in mind that it took me several days/weeks, beers and asperines to make this.
So be nice, and give me some credit, I won't bite and it won't hurt you.
Now that is said, I can explain what I've made.
First of all you need to understand the different parts of this project
* SAS: Smart Authentication Server (JAVA Servlet)
* APS: Authentication Provider Service (LDAP directory)
* ARS: Authentication Request Server (VPN server and NPS with our extension DLL)
* APP: The android/ios app to enable the 2nd Authentication step
A simple overview if the device is not registered in our APS:
> ARS send access request over RADIUS to NPS
> NPS extension receive access request
> NPS extension send authentication request to SAS
> SAS Authenticates the user via APS, APS returns NO userinfo
> SAS reply with code 2 (User needs device registration) and send sendmail request to APS
> APS sends email to user
> User follows instructions mail (Download from link and open from link)
> User logs in with device
> Device sends register request to SAS
> SAS forwards device registration request to APS
> APS registers device
> SAS sends result code to device
When a device is already registered in our APS it goes as followed:
> ARS send access request over RADIUS to NPS
> NPS extension receive access request
> NPS extension send authentication request to SAS
> SAS Authenticates the user via APS, APS return userInfo
> SAS sends a PUSH notification to device
> Device access response (approved or cancelled) is send to SAS
> SAS replies to ARS with corresponding code
> ARS proccesses the request (code 0= accept/ code 1=reject)
You can find all the SAS error codes in the errorCode.java class