You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refreshing a session via Boto3SessionProvider::refresh_callback fails in botocore.credentials.py:582 with a TypeError exception, "argument of type 'RefreshableCredentials' is not iterable"
#20
This is caused by the implementation of streamlit_cognito_auth.session_provider.py::_get_credentials, where the refresh_using lambda executes a recursive call to _get_credentials and, thus, returns a (Refreshable)Credentials object, that is then iterated upon in botocore while performing the refresh logic.
Thanks for your thoughtful suggestion and the effort you put into crafting a potential solution.
Your code looks promising, but I'd like to take some time to thoroughly review and test it to ensure it resolves the issue without any unintended side effects.
Once validated, I'll include it in the next release.
This is caused by the implementation of streamlit_cognito_auth.session_provider.py::_get_credentials, where the refresh_using lambda executes a recursive call to _get_credentials and, thus, returns a (Refreshable)Credentials object, that is then iterated upon in botocore while performing the refresh logic.
Changing the code to return a dict instead works:
Note that the expiry_time object is expected to be a str in botocore.credentials.py:594, hence the str() case.
Blocking issue, preventing sessions to be refreshed
The text was updated successfully, but these errors were encountered: