Keyring uses actions and filters extensively to allow you to hook into the core operations of the framework and to modify how things work. Some of them use variables based on the Service slug, or Action, see below.
Actions
- keyring_{$service}_{$action}_ui
- keyring_load_services
- keyring_load_token_stores
- pre_keyring_{$service}_{$action}
- keyring_{$service}_{$action}
- keyring_connection_deleted
- keyring_error
- keyring_connection_verified
Filters
- keyring_admin_page
- keyring_core_actions
- keyring_admin_url
- keyring_credentials
- keyring_verified_redirect
- keyring_services
- keyring_token_stores
- keyring_{$service}_request_ui_intro
- keyring_request_token_meta
- keyring_request_token
- keyring_{$service}_request_token_params
- keyring_{$service}_verify_token_params
- keyring_access_token
- keyring_access_token_meta
- keyring_{$service}_basic_ui_intro
- keyring_facebook_scope
Constants
- KEYRING__DEBUG_MODE
- KEYRING__TOKEN_STORE
- KEYRING__HEADLESS_MODE
- KEYRING__FORCE_USER
- KEYRING__{$service}_*
- KEYRING__VERSION
- KEYRING__DEBUG_NOTICE, KEYRING__DEBUG_WARN, KEYRING__DEBUG_ERROR
I see a filter `keyring_{$service}_request_scope` [in the code](https://github.com/beaulebens/keyring/blob/255d09468580255102faca32edcc4e800ec7beef/includes/services/core/oauth2.php#L65) that is not listed here!