GSoC Student Interview spotlight: Single Sign-in For Intermine + Rahul Yadav

This is our blog series interviewing our 2019 Google Summer of Code students, who working remotely for InterMine for 3 months on a variety of projects. We’ve interviewed Rahul Yadav, who will be working on the InterMine single sign-in project.

Hi Rahul! We’re really excited to have you on board as part of the team this summer. Can you introduce yourself?

Hi ! Excited to be on the team. I am a third year undergraduate student, pursuing my Bachelors of Technology in Computer Science from USICT (GGSIPU, Delhi). I love being in front of my laptop. I can certainly spend more time writing code than doing anything else, but Football and Basketball have always been an exception.

I have done many projects during my past academic year in order to utilise and explore my skill set. I have always loved contributing to open source because it is such a huge community of amazing developers who are always there to help you out.
Apart from this, I have worked on oauth2 implementation during my internship in last summer where I used Java to connect google services like G-Drive, Hangout and others with the company codebase. I was always fascinated by cloud services so I kept working on GCP, AWS, AZURE and etc frequently.

What interested you about GSoC with InterMine?

To be honest, I never thought i would get an opportunity to work with a community like InterMine. But, when I saw list of projects, it intrigued me and I found myself on this very interesting project, single sign in which the project requirements and the tech seemed very familiar to me and because of that I kept on digging about the project requirements and did lots of research on it, and with every minute spent on this, my interest escalated exponentially, and Eureka! I finally came up with solution which helped me to be a part of this amazing community.

Tell us about the project you’re planning to do for InterMine this summer.

In the current scenario, a user logs in the desired intermine and saves the results and the required data. The problem arises when the same user wants to access a different intermine, he/she will have to register again on this new mine and log in again. Currently, InterMine community does not have a single common sign-in mechanism and thus it is authenticating users with the help of tokens (temporary and permanent one) or using google service to log in. This project will modify the existing token mechanism by making the intermine as an OAuth2 provider with a single common Authorization server for all 30 mines so that user could access all the mines with the single set of credentials i.e just one time registration.

Are there any challenges you anticipate for your project? How do you plan to overcome them?

This project is related to security and the most important part about it is, that it is all about user credentials which means a single wrong logic or step can expose our security, so implementing a fully secure system is a major challenge for this project.

I’m going to consider all the possible threats and vulnerabilities during the development phase of the system, and will focus on a lots of testing and debugging in search of any kind of loopholes, if so then fixing it before deployment.

Share a meme or gif that represents your project