Feat[MQB]: apply plugin into authentication #773
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR apply plugin into authentication and reauthentication when we as a broker receives authentication requests from clients.
rawclient
to support integration testtest_authn.py
.Authenticator
is managed byTransportManager
and referred to byInitialConnectionHandler
, since the lifetime of anAuthenticator
is longer thanInitialConnectionHandler
.AuthenticationRequest
.channel
is closed when there's a failure.AuthenticationContext
is created during initial connection, create areauthenticateCb
to be called when a client session later receives anAuthenticationEvent
.AuthenticationContext::State
to indicate the state of authentication. This is used as a synchronization primitive to make sure only one authentication is run for a given context.basicpass
plugin as default way to authenticate if the negotiation message comes first.