
var util = require('util');
var OAuth2Strategy = require('passport-oauth2');
var InternalOAuthError = require('passport-oauth2').InternalOAuthError;


function Strategy(options, verify) {

}

@@ -1,12 +1,43 @@
+/**%0A * Module dependencies.%0A */
 %0Avar util = 
@@ -180,44 +180,1450 @@
 ;%0A%0A%0A
-function Strategy(options, verify) %7B%0A%0A%7D
+/**%0A * %60Strategy%60 constructor.%0A *%0A * The WSO2 authentication strategy authenticates requests by delegating to a%0A * WSO2 Identity Server using the OAuth 2.0 protocol.%0A *%0A * Applications must supply a %60verify%60 callback which accepts an %60accessToken%60,%0A * %60refreshToken%60 and service-specific %60profile%60, and then calls the %60done%60%0A * callback supplying a %60user%60, which should be set to %60false%60 if the%0A * credentials are not valid.  If an exception occured, %60err%60 should be set.%0A *%0A * Options:%0A *   - %60clientID%60      your WSO2 service provider's Client ID%0A *   - %60clientSecret%60  your WSO2 service provider's Client Secret%0A *   - %60callbackURL%60   URL to which WSO2 will redirect the user after%0A *                     granting authorization%0A *%0A * @param %7BObject%7D options%0A * @param %7BFunction%7D verify%0A * @api public%0A */%0Afunction Strategy(options, verify) %7B%0A  options = options %7C%7C %7B%7D;%0A%0A  OAuth2Strategy.call(this, options, verify);%0A  this.name = 'wso2';%0A  this._userProfileURL = options.userProfileURL;%0A  this._oauth2.useAuthorizationHeaderforGET(true);%0A%7D%0A%0A/**%0A * Inherit from %60OAuth2Strategy%60.%0A */%0Autil.inherits(Strategy, OAuth2Strategy);%0A%0A/**%0A * Retrieve user profile from the WSO2 Identity Server.%0A *%0A * @param %7BString%7D accessToken%0A * @param %7BFunction%7D done%0A * @api protected%0A */%0AStrategy.prototype.userProfile = function(accessToken, done) %7B%0A%0A  // TODO: Fetch the user profile.%0A  done(null, %7B%7D)%0A%7D%0A%0A/**%0A * Expose %60Strategy%60.%0A */%0Amodule.exports = Strategy;
 %0A

Add basic strategy logic