Oregon State University|blogs.oregonstate.edu

Archives: February, 2024


Technology for Authentication February 7th, 2024

First of all, here is some context. The project that my group is developing is a secure password manager. A web application that allows a user to have all of their passwords stored in one place, securely. Now my personal focus on this project is authentication. Authentication is incredibly important when it comes to keeping sensitive data secure. Without a proper, secure authentication system, any user will be able to access any data they want stored on the site.

Now onto technology in authentication, I chose to use SupaBase to implement a secure authentication system. SupaBase is an open-source alternative to Firebase that uses PostGres to store data, and all kinds of other features. One such feature being authentication. Personally, once I was eventually able to figure out exactly how to use SupaBase, I loved it. It is straightforward and very adaptable. However, in the beginning, I found that sources created to help new users use it were misleading. I found all kinds of sources that directed me a wrong direction. I actually ended up going back on my implementation and really fundamentlizing it allowing me to adapt in the future (I believe that this saved the development of my part of the project). But after a lot of reading through documentation, I was able to figure out how to implement authentication using SupaBase.

While this blog’s title is focused on Authentication, I also wanted to mention my experience with node. I have been TRULY humbled by node throughout the development of this project. One year ago, I would say that I feel comfortable with node, having taken Web Development, creating many personal projects using React and other node packages, but this semester, I feel lost. I found myself spending a significant amount of time figuring out how to use node to even get my project to run. After coding in C/C++ for the last year, both in school and at my internship, I was shocked how fast I forgot about node and how to use it. Personally, I would say that I am a decent programmer (not trying to brag or anything), I am currently moving through recruitment for a Sofware Engineering full-time position even. But, it is shocking how dumb I felt while trying to use node within my project. This included starting at my package.json file, re-running my program hoping that everything was now working, and so many more ‘dumb’ feeling struggles. I found myself incredibly frustrated with how my problems weren’t coming from my code but from how I was running the code. I felt like I was running code for the first time!

Anyways, to stop ranting, while I had to re-live the steep node learning curve, I am glad I did. It shows me how quick we can forget technologies after not using them for a short(ish) amount of time. I now feel comfortable using node and without it, would be unable to complete my project for this term.

With how quick technology is adapting in the IT world, it is important to be able to learn. Software Engineering isn’t all about if you know how to code, if you have ideas for a product, but it also contains an ability of learning. In the professional world, software engineers are learning new things everyday whether it be a technology or just a coding practice. The field is constantly adapting and to find success in it, it is important to be able to adapt with it.

Read the post...