Inspiration

The inspiration for this Project was , firstly the MVP Award that made me want to participate deeper into Microsoft Community activities, and second the option to integrate the vCore Chatbot with other projects. My Custom Identity solution looked perfect , and i chose to make the work and change the backend from SQL interaction to Cosmos MongoDB API interaction.

What it does

The solution offers an Identity experience where users can register their details and login to the Web App that embeds the Chat FrontEnd into the Dashboard. The Solution has enhanced Security capabilities with CORS Settings, Managed Identity and KeyVault Integration.

How we built it

The Project has followed the original deployment script for the main resources (Cosmos, WebApp, ACR) and Terraform and Az Cli to build the User Registration and Login Web App along with the NodeJS Back-end API which was transformed to interact with Cosmos instead of SQL. The React and NodeJS are Container Apps.

Challenges we ran into

The biggest challenge was the 4 fold integration of the FrontEnd of the Identity app, the Backend of it, the Frontend of the Chat App and the backend of it.

Accomplishments that we're proud of

I managed to adapt the NodeJS to the CosmosMongoDB API along with the React Web App, apply CORS rules to allow specific Apps to communicate with the Backends, and integrate 4 different resources into a Fully working App.

What we learned

We learned how to integrate, communicate,configure and manage the CosmosMongoDB, how integration can be challenging but also provide lessons learned to the developer.

What's next for Identity and Access with Chat Assistant

The plan is to finalize the Interaction of the logged in users. Provide isolation per user and additional endpoints so they can request for example "/orders" and the App will initiate a conversational process to take an order. Also an Admin interface where the Admin can look into orders and sales with the same Assistant as the Customers but with enhanced capabilities.

Share this project:

Updates