UNPKG

react-twitter-login

Version:

React component for simple OAuth with Twitter

65 lines 2.8 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.accessTokenSignature = exports.requestTokenSignature = void 0; var crypto_js_1 = require("crypto-js"); exports.requestTokenSignature = function (_a) { var method = _a.method, apiUrl = _a.apiUrl, callbackUrl = _a.callbackUrl, consumerKey = _a.consumerKey, consumerSecret = _a.consumerSecret; var params = { oauth_consumer_key: consumerKey, oauth_version: "1.0", oauth_signature_method: "HMAC-SHA1", oauth_callback: callbackUrl, oauth_timestamp: (Date.now() / 1000).toFixed(), oauth_nonce: Math.random() .toString(36) .replace(/[^a-z]/, "") .substr(2) }; return makeSignature(params, method, apiUrl, consumerSecret); }; exports.accessTokenSignature = function (_a) { var consumerKey = _a.consumerKey, consumerSecret = _a.consumerSecret, oauthToken = _a.oauthToken, oauthVerifier = _a.oauthVerifier, method = _a.method, apiUrl = _a.apiUrl; var params = { oauth_consumer_key: consumerKey, oauth_version: "1.0", oauth_signature_method: "HMAC-SHA1", oauth_token: oauthToken, oauth_verifier: oauthVerifier, oauth_timestamp: (Date.now() / 1000).toFixed(), oauth_nonce: Math.random() .toString(36) .replace(/[^a-z]/, "") .substr(2) }; return makeSignature(params, method, apiUrl, consumerSecret); }; var makeSignature = function (params, method, apiUrl, consumerSecret) { var paramsBaseString = Object.keys(params) .sort() .reduce(function (prev, el) { return (prev += "&" + el + "=" + params[el]); }, "") .substr(1); var signatureBaseString = method.toUpperCase() + "&" + encodeURIComponent(apiUrl) + "&" + encodeURIComponent(paramsBaseString); var signingKey = encodeURIComponent(consumerSecret) + "&"; var oauth_signature = crypto_js_1.enc.Base64.stringify(crypto_js_1.HmacSHA1(signatureBaseString, signingKey)); var paramsWithSignature = __assign(__assign({}, params), { oauth_signature: encodeURIComponent(oauth_signature) }); return Object.keys(paramsWithSignature) .sort() .reduce(function (prev, el) { return (prev += "," + el + "=\"" + paramsWithSignature[el] + "\""); }, "") .substr(1); }; //# sourceMappingURL=signature.js.map