. /** * Key manager interface. * * @package auth_userkey * @copyright 2016 Dmitrii Metelkin (dmitriim@catalyst-au.net) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace auth_userkey; /** * Interface userkey_manager_interface describes key manager behaviour. * * @package auth_userkey */ interface userkey_manager_interface { /** * Create a user key. * * @param int $userid User ID. * @param null|array $allowedips A list of allowed ips for this key. * * @return string Generated key. */ public function create_key($userid, $allowedips = null); /** * Delete all keys for a specific user. * * @param int $userid User ID. */ public function delete_keys($userid); /** * Validates key and returns key data object if valid. * * @param string $keyvalue Key value. * * @return object Key object including userid property. * * @throws \moodle_exception If provided key is not valid. */ public function validate_key($keyvalue); }