Applications interacting with the AGILE stack should be integrated with the security framework.
From the authentication point of view, AGILE offers the possibility for an application to be registered as an OAuth2 client. Examples to use the different kinds of OAuth2 flows are available in an AGILE open source repository: https://github.com/Agile-IoT/agile-idm-examples. This is useful for applications that want to implement their own interfaces (graphical or not) on their own and interact with the AGILE API directly. However, there is also a possibility to embed a Web application directly in AGILE OSJS and leverage that AGILE OSJS has already authenticated the user.
For this there is a sample AGILE OSJS application that passes the authentication token to the backend of your application here: https://github.com/agile-iot/agile-policy-sample. Moreover, there is full-fledged application (including the backend) integrating security policies from the AGILE framework and getting the authentication token from OSJS here: https://github.com/agile-iot/agile-policy-sample
Interact with Devices
A good starting point to implement your own application is to have a look at the SDK documentation here: https://github.com/agile-iot/agile-sdk Also, you could use directly the AGILE REST API