Challenge Overview
Challenge Overview
You are provided with a simple ASP.NET MVC Application, and you will implement login with Facebook feature.
Challenge Requirement
There are no UI changes in this challenge. You will update the backend to make the “Sign in with Facebook” button in login page functional.
-
Use one of these SDKs to implement the Facebook login flow/interaction :
-
Update the User table and corresponding Model to store relevant facebook account data.
-
Facebook app should only access user email and public profile information.
-
The callback function should handle callback from facebook as follows :
-
Check if User with facebook identifier already exist
-
If yes, Login the user to the website.
-
otherwise, proceed to next step.
-
-
Check if there is a user with email == facebook account email.
-
Prompt a similar page to the login page with only username/password where username is hardcoded. The user will enter the password to verify the account is owned by that user. Validate the password and display proper message if it is invalid password.
-
If user entered valid password, then update User table to store facebook relevant data
-
Login the user to the website.
-
-
Else, create new record (blind account) with fields populated from facebook data, generate random password, and auto-login the user to the website.
-
-
The Facebook app API keys should be configurable in the application configuration.
-
Update NuGet if you are adding new binaries to the solution.
Documents
A visual studio solution for the web application is provided in the challenge forums.
Final Submission Guidelines
Deliverables
-
The new and updated files that addressed the above solution.
-
Detailed deployment guide for how to setup and verify your solution.