Enabling an easy and hassle-free way of creating and managing connected Apps.
What it does
Currently in Salesforce only admin can install a connected app in the org and enable authentication. The purpose of this App Management is to enable a wrapper around the connected Apps, so that, access can be given to any user to create and manage the connected apps.
How we built it
The App Management we built is basically comprised of three parts.
1) UI creation(using Lightning Components)
2) Creating and retrieving data using MetaData API.
3) Custom Object in the salesforce org to save the details of the Connected app created.
4) We created a community page which can be accessed only if the user is logged in.(It is not a public
Challenges we ran into
1) To retrieve and deploy the data into the custom object.We explored various ways of doing this and finally found using Metadata API would be a easy way of doing it and how to use it to retrieve and deploy the data to the custom object.
2) We have created multiple lightning components and linking them was also a challenging task.
What we learned
1) With the challenges we faced during the development of this app, we learned how MetaData API works and how it can be used to deploy and retrieve data from salesforce objects.
2) We also understood how lightning components can be used to create an interactive UI easily.
What's next for App Management
1) As of now the app has only one 'callback url' enabled. We look forward to increase it to more than one.
2) Right now the user can access and manage only the connected apps created by him. The access can be
enhanced such that multiple users can manage various connected apps.
3) We are planning to implement the SAML Protocol, Single Logout, Trusted IP Range and custom attributes.