Create a simple website that handles OAUTH Authentication. The site does 2 things - handles new user registrations (both OAUTH and local) and has an administrative piece that allows us to modify the OAUTH settings. Styling is NOT important. This is simply a proof-of-concept site.
Step 1: Create a class library project that handles the Business and Data Access logic. All data access should occur through stored procedures via ADO.NET calls. Be smart in choosing your data objects (DataReader vs DataTable, etc.).
Handle authentication against the following 18 providers. Note that we need to be able to handle multiple OAUTH protocols (1.0, 1.0a, 2.0, etc.). Create test API keys (use localhost as the site name). I will modify these later. All OAUTH configuration information should be stored in the DB.
- Dropbox (OAUTH 1.0)
- Evernote (OAUTH 1.0)
- Facebook (OAUTH 2.0 draft 12)
- Flickr (OAUTH 1.0a)
- FourSquare (OAUTH 2.0)
- Google+ (OAUTH 2.0)
- Instagram (OAUTH 2.0)
- LinkedIn (OAUTH 1.0a, 2.0)
- Live Connect (Microsoft) (OAUTH 2.0)
- Netflix (OAUTH 1.0a)
- OpenTable (OAUTH 1.0a)
- PayPal (OAUTH 2.0)
- Reddit (OAUTH 2.0)
- SalesForce (OAUTH 1.0a, 2.0)
- Twitter (OAUTH 1.0a)
- Ubuntu One (OAUTH 1.0)
- Yahoo (OAUTH 1.0a)
- Yelp! (OAUTH 1.0a)
Step 2: Create the website project.
Styling is NOT important. The majority of the work on this step is the new user registration. Once the user authenticates via their chosen authentication method, map the registration fields to the chosen provider's user profile fields as closely as possible (First Name, Last Name, Photo, etc.) and prefill the information (the user should still have the ability to overwrite this data in our membership database). Users should all be assigned to a generic "Member" role.
Once authenticated, the end-user simply sees a "Thank you for logging in <First Name>" message with two links - "Log out" and "Edit OAUTH". "Edit OAUTH" should enable them to remove the ability to add or delete OAUTH providers.
Utilize the class library project to handle authentication and registration.
Step 3: Create OAUTH administration page on the site.
Create a non-OAUTH user assigned to a "SuperUser" role. When this user logs in, they should have access to a page that can edit the OAUTH Provider functionality (add providers, change the OAUTH protocol a provider is using, change the API key, etc.).
Step 4: Provide the Solution and any necessary deployment notes. Further work on this project will be contingent on the quality of your code (SPELLING IS IMPORTANT - EVEN IN VARIABLE NAMES) and documentation. Part of your documentation should be the links necessary to create new API keys for each provider.
Web Technology: ASP.NET Webforms
Framework version: ASP.NET 4.5
Solution Version: Visual Studio 2012
Database: MS SQL Server 2012
NO THIRD-PARTY CONTROLS. We need all the source-code.
Project 1: This should be a class library with Database Access and Business Layer objects.
Project 2: Web Site
21 freelancer đang chào giá trung bình $13/giờ cho công việc này
Hi We have read your [url removed, login to view] have completed 80+ big asp.net,c# projects in last 5 years. Please check private message board for details.
Hi, our team is ready to work at your project and develop this proof-of concept site according to your description. We are experienced [url removed, login to view] developers.
Dear Sir, I am writing with reference to your advertisement. I consider that my credentials and interests match with your requirement and want to apply for the same. Please check PMB for details.
HI There, Based on your requirements i have strong feeling that i could be the best fit for your ASP.NET site that handles OAUTH authentication, please check my PMB.
This is an excellent project i will like to be a part of. i am sure of delivery in 3 weeks. I have excellent knowledge of [url removed, login to view] stored procedure, and i have libraries that handle my data access layers
Hello, I understand your requirements and believe that we can provide you with the best solution. Please check the Private Message Box for further details.