The server responds with an Protocol::AuthNextFactor: containing client side plugin name and plugin data of plugin Y.
Client reads plugin name and plugin data from AuthNextFactor packet and loads corresponding client side plugin.
Y authentication method packets are exchanged
The server responds with an Protocol::AuthNextFactor: containing client side plugin name and plugin data of plugin Z.
Client reads plugin name and plugin data from AuthNextFactor packet and loads corresponding client side plugin. 10.Z authentication method packets are exchanged 11.The server responds with an OK_Packet
Note
At any point, if the Nth Authentication Method fails, the server can return ERR and disconnect. And the client can just disconnect.