UNPKG

passport-telegram-web-app

Version:

A [Passport](https://www.passportjs.org/) strategy for [telegram web app (bots)](https://core.telegram.org/bots/webapps) authentication.

23 lines (22 loc) 895 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Utils = void 0; var crypto_js_1 = require("crypto-js"); var Utils = /** @class */ (function () { function Utils() { } Utils.defaultDataToCheckString = function (data) { return "auth_date=".concat(data.authDate, "\nquery_id=").concat(data.queryId, "\nuser=").concat(JSON.stringify(data.user)); }; Utils.defaultHashVerifier = function (token, dataCheckString, hash, callback) { var secret = (0, crypto_js_1.HmacSHA256)(token, "WebAppData"); var signature = (0, crypto_js_1.HmacSHA256)(dataCheckString, secret); var hex = signature.toString(crypto_js_1.enc.Hex); if (hex !== hash) { return callback(new Error("Not valid")); } return callback(null); }; return Utils; }()); exports.Utils = Utils;