Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add setting for cookie name prefix to plugin settings #892

Open
4 tasks done
jaketfoster opened this issue Apr 12, 2024 · 1 comment
Open
4 tasks done

Add setting for cookie name prefix to plugin settings #892

jaketfoster opened this issue Apr 12, 2024 · 1 comment
Labels
Scope: Improvement Code changes including new features or enhancements to the library.

Comments

@jaketfoster
Copy link

jaketfoster commented Apr 12, 2024

Checklist

  • I have looked into the Readme and the documentation, and have not found a suitable solution or answer.
  • I have searched the issues and have not found a suitable solution or answer.
  • I have searched the Auth0 Community forums and have not found a suitable solution or answer.
  • I agree to the terms within the Auth0 Code of Conduct.

Describe the problem you'd like to have solved

v5 appears to have removed the hooks mentioned in this issue. I am using pantheon, and need to prefix the cookie names with STYXKEY_ to avoid cookies being lost due to the CDN.

Describe the ideal solution

The ideal solution would be to add an optional field to the plugin's settings in the WordPress admin dashboard to set the SDK configuration object's storage IDs with the prefix. This would save custom work needing to be done to achieve this with the plugin.

Alternatives and current workarounds

I achieved a workaround by adding a plugins_loaded action in functions.php of my site as follows:

// change the auth0 cookie name to be prefixed with STYXKEY_ for Pantheon
function update_auth0_cookie_storage_id()
{
  $auth0SDK = wpAuth0()->getSdk();
  $auth0Config = $auth0SDK->configuration();
  $storageId = 'STYXKEY_' . $auth0Config->getSessionStorageId();
  $transientId = 'STYXKEY_' . $auth0Config->getTransientStorageId();
  $auth0Config->setSessionStorageId($storageId);
  $auth0Config->setTransientStorageId($transientId);
  $auth0Config->setSessionStorage(new CookieStore($auth0Config, $auth0Config->getSessionStorageId()));
  $auth0Config->setTransientStorage(new CookieStore($auth0Config, $auth0Config->getTransientStorageId()));
  $auth0SDK->setConfiguration($auth0Config);
}
add_action('plugins_loaded', update_auth0_cookie_storage_id());

I was able to update the configuration of the SDK by using this method. However, it took me a while of reading the source code of the plugin and SDK to find this solution, so I am proposing adding a setting in the Plugin settings on the WordPress admin dashboard.

Additional context

Pantheon Cache Docs for reference here.

@evansims
Copy link
Member

evansims commented Apr 16, 2024

Hey @jaketfoster, thanks very much for the suggestion. My bandwidth is currently allocated to another project so I can't give a firm ETA, but we will get to this as soon as possible. In the meantime, your workaround solution looks excellent 👌

@evansims evansims added the Scope: Improvement Code changes including new features or enhancements to the library. label Apr 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Scope: Improvement Code changes including new features or enhancements to the library.
Projects
None yet
Development

No branches or pull requests

2 participants