Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

We are going to add social login by using www.auth0.com.  For initial stage, we are going to support 5 social providers, Google, Facebook, Twitter, Github and Salesforce.

Competition Task Overview

For this contest, we are going to support social logins like , Google, Facebook, Twitter, Github and Salesforce by using www.auth0.com.

Please register your own account for development.

The implementation will based on branch - https://coder.topcoder.com/internal/web_module/branches/tc_reg_revamp

Registration Flow Update

Previously, when clicking the Register Now button on the top-right conner of the http://www.topcoder.com/tc page, it will redirect to https://www.topcoder.com/reg/ to start the new user registration process.

Now, we'd like to revise the flow to add social login features.

  • When clicking the Register Now button on the top-right conner of the http://www.topcoder.com/tc page, a standard Registration Modal provided by  www.auth0.com will be shown to start the registration process.
  • After successfully login with social, it will return to the callback url,  then the callback will retrieve the user data and pre-fill in register form at page https://www.topcoder.com/reg2/showRegister.action
    • the /reg2 code should be updated to take the user data and pre-fill in the form.
    • the social related info should be set as hidden data in the form, so it can be saved after clicking the Register button
    • /reg2 need to remember where to redirect after reg is done
  • After filling all the data, and clicking the Register button, user will be created with social data.
    • please store username in the user_social_login table in scripts trunk.
    • user will redirect to the previous page for starting the registration. For auth0, it is using "state" parameter to remember the redirect page, please check API doc for more

Login Flow Update

Previously, when clicking the Login link on the top-right conner of the http://www.topcoder.com/tc page or other pages, it will redirect to http://community.topcoder.com/tc?&module=Login to start user login process.

Now, we'd like to revise the flow to add social login features.

  • At Login page,  we will add a new Login Widget inside a Div that the right side of the current Login form. Use the standard Login Widget provided by  www.auth0.com will be shown to start the login process.
  • After successfully login with social, it will return to the callback url, it will try to search the user and get the user login automatically.
    • To search user, use a query in query tool to search by social login data, if exists (we can combine the roles in this same query if makes sense), this will then set the TCSubject, and all the cookies, any necessary setup the same logic as after login ejb.
    • Please check LoginAction.java Login.java and BasicAuthentication.java for reference about the logic.
    • After successfully login, user will be redirected to the page previous visit when clicking the Login link. For auth0, it is using "state" parameter to remember the redirect page, please check API doc for more

Auth0 Info

You can create your own free account to start your development, which gives more controls about the implementation. But it is limited that only allows two social login providers, so for final testing and submission, please use our provided account.

The account info is provided in forum, if you need any adjustment like callback url, please raise in forum, I can help change that.

Testing

No Unit Testing.

Technology Overview

The working environment requirement details for this application are outlined in the Application Requirements Specification. An overview of the environment requirements are listed below:

  • Java 1.5
  • Red Hat Linux
  • JBoss 4.0.2
  • Tomcat 5.5
  • Struts 1.3.5
  • Informix 10.0
  • AJAX


Final Submission Guidelines

Submission Deliverables

A complete list of deliverables can be viewed in the TopCoder Assembly competition Tutorial at: http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorial
Below is an overview of the deliverables:

  • New/Update Source Code for new requirements
  • A complete and detailed deployment documented explaining how to deploy the application including configuration information.

Final Submission

For each member, the final submission should be uploaded to the Online Review Tool.

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30036050