Open shazaman23 opened 2 years ago
Thank you for the PR! This looks great. Just to cover our bases, could you please send in a CLA? you can find it over at developer.okta.com/cla. This MAY fall into "Obvious Fix" category, but I would like to have one anyway.
I sent an email with an attached PDF of the CLA to this email address earlier today: CLA@okta.com
Did it not come through?
Just got confirmation on my signed CLA. @robertdamphousse-okta
By default this tool uses a cache pool that creates local files for caching. The existing implementation covers PSR-6 requirements, but there are some issues that can occur when using the defaults if some bad characters are in the URI used to form the cache key (which is used as the filename).
For example, assume an Okta instance of testing.oktapreview.com with a user of
test**7@test.com
. By making a get for that user with this library, the URI will betesting.oktapreview.com/api/v1/users/test**7@test.com
. Based off of the existing code, this name will get transformed to a cache key oftesting_oktapreview_com_api_v1_users_test**7_test_com
which is an invalid file name.The change I propose would use the regex for valid filenames by default to create cache keys. Under this setup, the cache key would instead be
testing_oktapreview_com_api_v1_users_test__7_test_com
which would be valid._Note: There are still going to be some problems if people include lots of the invalid characters in their usernames because you could have collisions. For example, user of
test**7@test.com
andtest++7@test.com
would both hit the same cache keytesting_oktapreview_com_api_v1_users_test__7_test_com
_