UNPKG

mysql2

Version:

fast mysql driver. Implements core protocol, prepared statements, ssl and compression in native JS

35 lines (32 loc) 904 B
'use strict'; //const PLUGIN_NAME = 'mysql_native_password'; const auth41 = require('../auth_41.js'); module.exports = (pluginOptions) => ({ connection, command }) => { const password = command.password || pluginOptions.password || connection.config.password; const passwordSha1 = command.passwordSha1 || pluginOptions.passwordSha1 || connection.config.passwordSha1; return (data) => { const authPluginData1 = data.slice(0, 8); const authPluginData2 = data.slice(8, 20); let authToken; if (passwordSha1) { authToken = auth41.calculateTokenFromPasswordSha( passwordSha1, authPluginData1, authPluginData2 ); } else { authToken = auth41.calculateToken( password, authPluginData1, authPluginData2 ); } return authToken; }; };