The goal of this project is to provide a utility that securely authenticates users to a popular fitness tracking application called Strava using their oauth2 protocol. This utility will be used with several applications that share a common backend, including Android and iOS mobile applications as well as a web app.
- Receive client requests from designated apps and redirect to the Strava Authorization Request Page with Client ID, Client Secret and redirect uri values.
- Confirm authorization scope accepted by the user and receive short-lived authorization code via uri redirect.
- Exchange the authorization code and scope for a refresh token and access token
- Receive these tokens and deep link back to the designated page on client originally making the request.
- Bitbucket will be used for source control and code will need to be pushed to a designated development branch there.
- Frontend: Both mobile applications are react native applications and the web app is a react app
- Backend: All applications are using backendless <[login to view URL]> and relevant values are to be passed and stored in designated tables there in accordance with Strava's guidelines.
- Utility is to be a React app
- While this utility could be built from scratch, 90% of this project is already done for you via a Github project that can be found here <[login to view URL]>, accompanied by detailed instructions available here <[login to view URL]> . I have cloned, installed and run this project locally and can confirm that it works.
- A detailed walkthrough on deploying a React app to backendless is available here <>.
- Detailed documentation on Strava's authentication procedure can be found here: <[login to view URL]>. Using Strava's Swagger Playground you can familiarize yourself with the Strava API by submitting HTTP requests and observing the responses <[login to view URL]>.