Skip to content

Commit 0d69282

Browse files
committed
[_825] pam_interactive: record TODOs marking differences in Python vs C++ client plugin
1 parent d01a5ed commit 0d69282

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

irods/auth/pam_interactive.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,17 @@ def auth_client_start(self, request):
7272
resp['user_name'] = self.conn.account.proxy_user
7373
resp['zone_name'] = self.conn.account.proxy_zone
7474

75+
#TODO check handling of FORCE_PASSWORD_PROMPT -
76+
# This is close to what the C++ plugin (client-side) does
7577
# If not forcing a prompt, check for existing credentials (.irodsA) to attempt native auth directly
7678
if not resp.get(FORCE_PASSWORD_PROMPT, False):
7779
if self.conn.account.password and self.conn.account.derived_auth_file:
7880
resp[__NEXT_OPERATION__] = PERFORM_NATIVE_AUTH
7981
return resp
8082

83+
# TODO
84+
# iRODS4j removes the passworda property from the response object
85+
8186
# Otherwise, begin the full interactive flow
8287
resp[__NEXT_OPERATION__] = AUTH_CLIENT_AUTH_REQUEST
8388
return resp
@@ -199,6 +204,7 @@ def authenticated(self, request):
199204
if not self.depot:
200205
raise RuntimeError("auth storage object was either not set, or allowed to expire prematurely.")
201206

207+
# TODO: review (iRODS4j doesn't do this).
202208
if request.get(STORE_PASSWORD_IN_MEMORY):
203209
self.depot.use_client_auth_file(None)
204210

0 commit comments

Comments
 (0)