Implement OAuth for HP IDOL OnDemand Business Card Reader

Key Information

The challenge is finished.
Show Deadlines

Challenge Overview

Hewlett Packard has developed a set of JSON-based REST API’s which enable “Big Data”-type processing capabilities allowing developers to process information embedded in unstructured text and images in previously inaccessible formats.  This platform is called IDOL OnDemand and at this point is in the Early Access release phase, open for all Innovators to use.  


As a proof of concept for the API’s, the [topcoder] community has developed a mobile web application that reads business cards and stores the data in Salesforce.com.  Now we need to enable OAuth in the authentication functionality of this application to enable users to access the application without entering a Salesforce.com Security Token in addition to their password.  These are primarily Javascript updates. 

Getting Started with HP IDOL OnDemand

Before you can use the API’s you’ll need to sign up for an IDOL OnDemand developer account:


Please indicate that you heard about IDOL OnDemand through [topcoder] in the “How did you hear about IDOL OnDemand?” field:

Once your account has been verified you’ll be assigned a developer account and API Key that will allow you to make API calls.   Complete information about available IDOL OnDemand API’s can be found here: 


You’ll need to register for a developer account with HP in order to get access to additional Try functionality in the API console.  Use of the APIs is free and restricted to non-commercial use at this time. Commercial use and pricing will be announced in the near future.

Before you compete in an IDOL-related challenge on [topcoder] please create a topcoder-specific key in your IDOL OnDemand Account.  You can do this by Clicking on Account->API Keys from the developer home page.

Simply generate a new key and rename it to “topcoder” as shown above.   This should be the key that you use in [topcoder] challenge completion.  This will also give you visibility to Preview API’s which may not yet be in public release. 

You should be all set!

Final Submission Guidelines

  • Submit a .zip file with your code.   Please use the existing maven build scripts to build and deploy your code.  You should (of course) add any additional dependencies that are required.
  • Use the existing code as a starting point for your submission.  This application is an HTML5 Java-based Web Application.  This code is attached to the challenge.
  • You should implement Salesforce.com OAuth as discussed in the following document:  https://developer.salesforce.com/page/Digging_Deeper_into_OAuth_2.0_on_Force.com.  In this challenge, you will be implementing the functionality described in the following section:  Obtaining an Access Token in a Browser or Native Application (User-Agent Flow).  Javascript updates will be primary changes required.  When completed a user should be able to login with Username and Password.
  • Written documentation for your submission
  • Video with a screenshare of your code in action
  • A Salesforce.com developer instance has been whitelisted and set up for your convenience.  There is a Remote Application for the Business Card Reader configured in this organization as well.  URL:  https://login.salesforce.com   Username:  mobile_business_card@topcoder.com  Password:  @ppirio123  Security Token:  QyYsehqOM2OCYff1kXR2Tmjif        

Employees and direct and indirect subcontractors of Hewlett-Packard Company and its subsidiaries and other affiliates (“HP”), and employees and direct and indirect subcontractors of HP’s partners (including TopCoder and its affiliates) are not eligible to participate in the challenge.


Topcoder will compensate members in accordance with our standard payment policies, unless otherwise specified in this challenge. For information on payment policies, setting up your profile to receive payments, and general payment questions, please refer to ‌Payment Policies and Instructions.


Final Review:

Community Review Board


User Sign-Off

ID: 30044410