helena.soukupova | August 19th, 2021
Every year, during its Technical Kick Off (TKO), OneLogin runs a Hackathon for its employees. Each year there is a different theme or focus. This year the topic was OneLogin Smart Hooks. Smart Hooks provide a low code solution customers can use to incorporate their own customizations into OneLogin. For example, they could use the Pre-Authentication Smart Hook to look at where a user is logging in from and require the user to use a different form of MFA depending on their location. Hackathon participants simply had to come up with some sort of solution that enhanced Smart Hooks.
If you are new to the development world and have not yet participated in a hackathon, we would encourage you to do so. They are an exciting way to learn new skills and a great chance to get to think outside the box. Check out what our own junior developer has to say about her experience.
The Tale of the Rookie Engineer at the Hackathon
Excellent! I have made it into my second OneLogin Hackathon. Can I be proud of myself? How will it work this time after almost 5 months of being part of our DevEx team? Can my contribution be useful this time?
These questions have been flying in my mind after I realized that I made it into my second hands-on Hackathon event at OneLogin. This will be cool, I will be working on such a great topic for this run: OneLogin Smart Hooks.
Sounds cool, but wait - I have actually never gotten to run these “hooks.” What are they? Where can I learn as much as I can? What will be the best approach here?
As you can see, solving the same type of questions as during the previous one hackathon, but this time I can see that it’s way more organized because - and it’s magic - I know at least some magic sources I can use :-)
- Documentation. This is where a lot of wisdom is hidden. For OneLogin we have a great source of truth here: OneLogin Developers. In this case because the topic of our hackathon is Smart Hooks - I have been digging here: Smart Hooks.
- Repositories. In this case there is access just to the internal repositories. But if you will be creating or handling OneLogin Smart Hooks you will find a great way to handle them in Postman or other API’s tools, and you can nicely arrange your hook right there, or choose the classic curl terminal path here.
- Mentorship. And the best source of information in our Engineering world is for sure to know the right people who could help you and/or mentor you. Show you the right approach. So build the pool of these smart people around you. It’s the best you can do when you are starting as an Engineering newbie.
Now back to the Hackathon topic - Smart Hooks. Okay, what we can do about and around it? I was able to get together with the UI team. We didn’t create new hooks at all, but we built a UI where administrators of OneLogin Portal could manage their Smart Hooks in a smart and easy way without the necessity of touching the terminal, Postman or API.
The goal of our team was to make it as smooth and easy as possible - to create a tool that administrators will feel they already know right from the first moment.
We decided to use the same approach as the rest of the OneLogin Admin.
- The experience for Administrators should be simple and based on already existing patterns we are using for other product features within OneLogin Portal.
- We even created configuration templates and prepared the first two Smart Hooks templates - the User Migration Hook and the Pre-authentication Hook.
I was so proud our team was able to achieve the goal in just 3 days and eventually we were announced as one of the hackathon winners!
How can I say that our Smart Hooks project was successful? Because I was able to create the hook and manage it in real time by myself without the need of someone’s guidance or some documentation support. The flow within our UI was so smooth and easy to understand that even a person who is unfamiliar with our solution could easily understand it and make it work.
Moral of the Story
Try out a hackathon if you have never done one before. You might be surprised by what you can learn and even more surprised by what you can accomplish.