1234567891011121314151617181920212223242526272829303132333435 |
- // Copyright (c) 2021, Oracle and/or its affiliates.
- 'use strict';
- const Packet = require('../packets/packet');
- class AuthNextFactor {
- constructor(opts) {
- this.pluginName = opts.pluginName;
- this.pluginData = opts.pluginData;
- }
- toPacket(encoding) {
- const length = 6 + this.pluginName.length + this.pluginData.length;
- const buffer = Buffer.allocUnsafe(length);
- const packet = new Packet(0, buffer, 0, length);
- packet.offset = 4;
- packet.writeInt8(0x02);
- packet.writeNullTerminatedString(this.pluginName, encoding);
- packet.writeBuffer(this.pluginData);
- return packet;
- }
- static fromPacket(packet, encoding) {
- packet.readInt8(); // marker
- const name = packet.readNullTerminatedString(encoding);
- const data = packet.readBuffer();
- return new AuthNextFactor({
- pluginName: name,
- pluginData: data
- });
- }
- }
- module.exports = AuthNextFactor;
|