diff --git a/oauth3.core.js b/oauth3.core.js index 783bc66..812f14d 100644 --- a/oauth3.core.js +++ b/oauth3.core.js @@ -31,6 +31,39 @@ return qs.join('&'); }; + // Modified from http://stackoverflow.com/a/7826782 + core.queryparse = function (search) { + // parse a query or a hash + if (-1 !== ['#', '?'].indexOf(search[0])) { + search = search.substring(1); + } + + var args = search.split('&'); + var argsParsed = {}; + var i, arg, kvp, key, value; + + for (i = 0; i < args.length; i += 1) { + + arg = args[i]; + + if (-1 === arg.indexOf('=')) { + + argsParsed[decodeURIComponent(arg).trim()] = true; + + } + else { + + kvp = arg.split('='); + key = decodeURIComponent(kvp[0]).trim(); + value = decodeURIComponent(kvp[1]).trim(); + argsParsed[key] = value; + + } + } + + return argsParsed; + }; + core.authorizationCode = function (/*directive, scope, redirectUri, clientId*/) { // // Example Authorization Code Request