=== Feed Key === Contributors: hami Tags: access, admin, authentication, feed, feeds, feedkey, key, rss, restrict, registration, members, url Donate link: http://code.andrewhamilton.net/donate/ Requires at least: 2.1 Tested up to: 2.6.2 Stable tag: 0.2 Feed Key adds a 32bit (or 40bit) key for each of your users, creating a unique feed url for every registered on user the site. This allows you to restrict you feeds to registered users only. == Description == *Feed Key* adds a 32bit (or 40bit) key for each of your users, creating a unique feed url for every registered on user the site. This allows you to restrict you feeds to registered users only. *Feed Key* is a side project of another of my plugins [Members Only](http://wordpress.org/extend/plugins/members-only/). It has some expanded option on how the Feed Keys are generated. _You don't need to use both plugins._ == Installation == This section describes how to install the plugin and get it working. 1. Download the PHP File 2. Upload *feed-key.php* file into your *wp-content/plugins/* directory 3. In your *WordPress Administration Area*, go to the *Plugins* page and click *Activate* for *Feed Key* Once you have _Feed Key_ installed and activated your feeds will only be accessable when using a valid _Feed Key_. == Changes == *0.2* 1. Added the ability for Administrators to remove a User's Feed Key as well as reset it. 2. Fixed a problem where Feed Keys weren't working properly due to a typo from converting it from *Members Only*. *0.1* 1. Initial release. == Settings == The settings for *Feed Key* are very straight forward. You can choose how the _Feed Keys_ on your site are generated with controls over the character set of the input key, the length of the input key, what to use as the salt when hashing the input key and what algorithm(s) you what to hash the input key with. You can also choose whether user of your site can reset their own _Feed Keys_ from their user profiles or you can leave this to Admins. == Feed Keys == *What are Feed Keys?* _Feed Keys_, are unique 32bit (or 40bit) keys that are added to your blog's URL in order to give every registered user a custom feed URL. A Feed Key looks something like this: *`206914af21373cc4792a057b067d2448`* This is then appended to the feed url for your user in their User Profile, like the examples below, either without permalinks... *`http://example.com/?feed=rss2&feedkey=206914af21373cc4792a057b067d2448`* ...or with permalinks *`http://example.com/feed/?feedkey=206914af21373cc4792a057b067d2448`* When a user visits a feed on your site, Members Only checks to see if there is a _Feed Key_ in the query section of the feed URL and checks whether it is stored in the @wp_usermeta@ table of your WordPress database. If it finds the _Feed Key_ in the database it allows access to the feed, otherwise it presents the user an error. An error will also be give if no _Feed Key_ is found in the feed URL. Errors are presented to the user in form of RSS feeds that are generated by _Feed Key_. *How and When are Feed Keys Generated?* By default, a _Feed Key_ is generated by creating a 32bit random alpha-numeric-case-insensitive string that is then hashed (using `md5`) against the user's username, insuring that no two users can ever have the same. You can choose to use `sha1`, rather than `md5`, to hash your _Feed Keys_ and you will have a 40bit rather than a 32bit key. If your using both sha1 and md5, the key length of the Feed Key is governed by the algorithm used last. You also have control over the character set used to generate the input key, as well as the length. The input key is hashed against either the user's username or email to create the _Feed Key_. _Feed Keys_ are generated for the first time when the user logs in to your blog. If they don't have a _Feed Key_, one generated for them and stored in the `wp_usermeta` table in your database, otherwise they will use the one that is already stored in the database. An admin can also manually generate a Feed Key for a user by visiting there user profile and choosing the option. If you allow it, users can also reset their _Feed Keys_ from their user profiles or you can leave this to Admins. == Screenshots == 1. Options for *Feed Key* 2. Displaying *Feed Keys* in a user's profile 3. Admin option for generating a user's *Feed Key* == Known Issues == No known issues at this time. If you find any bugs or want to request some additional features for future releases, please log them the [projects tracker page](http://tracker.andrewhamilton.net/projects/show/feed-key)