8000 WL#15623: Improve the authentication module · mysql/mysql-connector-python@db9bb2b · GitHub
[go: up one dir, main page]

Skip to content

Commit db9bb2b

Browse files
committed
WL#15623: Improve the authentication module
Currently, the authentication module has a minimal role in the overall authentication phase which simply consists in providing the `get_auth_plugin()` method which returns an authentication class given the authentication name and, optionally, the authentication class itself. Finally, the returned authentication class is used by the connection object to carry out the corresponding authentication. With this code distribution, the connection object is fully responsible of the auth phase, this contributes, among other things, to make the connection implementation a monolith. The goal of this WL is to take the authentication load away from the connection object by creating a new service responsible for handling the authentication stage. We name this new agent `MySQLAuthenticator` and place it in the authentication module. With this change, the authentication flow looks as follows assuming `MySQLConnection` has an attribute that points to a `MySQLAuthenticator` instance: - `MySQLAuthenticator` receives auth-related data from `MySQLConnection`. - `MySQLAuthenticator` performs the auth according to the provided data. - `MySQLAuthenticator` returns an okay packet or raises an error. - `MySQLConnection` handles the okay packet completing the auth phase. Change-Id: If18147d670ff38e6bd05dd6eca8c0109d3fc1610
1 parent 0d73fed commit db9bb2b

17 files changed

+1628
-821
lines changed

CHANGES.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Full release notes:
1111
v8.2.0
1212
======
1313

14+
- WL#15623: Improve the authentication module
1415
- BUG#35544123: Kerberos unit tests configuration is outdated
1516

1617
v8.1.0

0 commit comments

Comments
 (0)
0