Skip to content

Instantly share code, notes, and snippets.

@bhardwajdisha
Last active December 17, 2023 05:11
Show Gist options
  • Save bhardwajdisha/64e2fb41d9e1300a94fc8561df46149c to your computer and use it in GitHub Desktop.
Save bhardwajdisha/64e2fb41d9e1300a94fc8561df46149c to your computer and use it in GitHub Desktop.
GSOC 2023: 2-Factor Authentication for Omnichannel Ecosystem

alt_text     alt_text

2-Factor Authentication for Omnichannel Ecosystem - Authentication

Hello, there! This gist is dedicated for final work report submission for the Google Summer of Code - 2023. And would give a brief overview of all the PRs, issues and also the various featured implemented during this season.

Project Overview

The project aims to integrate a message-based 2-factor authentication (2FA) mechanism in Rocket.Chat's omnichannel ecosystem to provide an extra layer of security and reduce spam. .This project will help enhance the user experience and improve the quality of chat conversations by preventing bots from spamming the chat.

Deliverables

  • Manual Authentication Process - Implemented a manual authentication process that allows agents to authenticate users with a single button click.
  • Automating the Authentication Process - Introduced an option to automate the authentication process. When enabled, incoming chats will undergo authentication automatically before reaching the agent, streamlining the user experience and reducing agent workload.
  • Cancelable Verification Process - Developed functionality for agents to cancel the verification process when necessary. This feature provides agents with greater control over the authentication process.
  • Verification Bot/Agent Selection - Created a setting that enables admins to choose a specific verification bot or agent to handle the authentication process, this customization enhances flexibility.
  • Customizable Invalid Input Threshold - Implemented a setting to allow admins to define the number of allowed invalid inputs during the authentication process. This feature enhances security and adapts to varying user needs.
  • Chat Console Disablement - Implemented a feature that disables the chat console for agents while the verification process is in progress.
  • Resend OTP Functionality- Incorporated a "Resend OTP" functionality that enables users to request a new One-Time Password (OTP) if needed. This feature enhances user convenience and reduces authentication-related support requests.

These deliverables collectively enhance the functionality, security, and usability of the project, making it a more robust and user-friendly solution.

Pull Reuqests

They include required demo videos also.

# PR short description Is merged?
#29590 Manual authentication Process
#30105 Resend OTP functionality
#30123 Hide chat console during verification process in Omnichannel rooms
#30368 Automating the verification process
#30420 Implemented a verification check filter to sort chats based on the room's verification status

Final PR

Challenges faced

  1. Understanding the routing process to make the verification process automated.
  2. Implementing the Resend OTP functionality
  3. Exploring the huge codebase of Omnichannel to figure out how it works.

🔮 Project Evolution: Unleashing Future Potential 🔮

  1. Ability to customize the verification message sent to the user, so that it can be branded for the organization using Rocket.Chat.
  2. Integration of Google reCaptcha in livechat registration form.

Mentors

I'm deeply appreciative of my mentors' invaluable guidance and support. Their expertise and encouragement have significantly contributed to my growth during the program. Their mentorship has not only enhanced my technical skills but also underscored the significance of teamwork and effective problem-solving."

The Astounding mentors:

  1. Murtaza Patrawala
  2. Renato Becker
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment