implement handshake prototype

You should also add `belongsTo` for `password` and `resetAuthorization`