Implement React oauth2 login utility

Job ID: 31876575

Budget: $30 – $250 USD

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.

REQUIREMENTS
- 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.

ENVIRONMENT
- 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 <backendless.com> 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

RESOURCES
- 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 <https://github.com/dunleavyjack/Strava-OAuth2-Test>, accompanied by detailed instructions available here <https://levelup.gitconnected.com/add-strava-oauth2-login-to-your-react-app-in-15-minutes-6c92e845919e> . 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: <https://developers.strava.com/docs/authentication/>. Using Strava's Swagger Playground you can familiarize yourself with the Strava API by submitting HTTP requests and observing the responses <https://developers.strava.com/playground/>.
Related categories: JavaScript React.js React.js Framework