=== Authenticator === Contributors: inpsyde, Bueltge, nullbyte, dnaber-de Tags: login, authentification, accessible, access, members Requires at least: 1.5 Tested up to: 4.9 Stable tag: trunk License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html This plugin allows you to make your WordPress site accessible to logged in users only. == Description == This plugin allows you to make your WordPress site accessible to logged in users only. In other words to view your site they have to create / have an account in your site and be logged in. No configuration necessary, simply activating - thats all. = Crafted by Inpsyde = The team at [Inpsyde](http://inpsyde.com) is engineering the web and WordPress since 2006. = Donation? = You want to donate - we prefer a positive review, not more. = Bugs, technical hints or contribute = Please give me feedback, contribute and file technical bugs on [GitHub Repo](https://github.com/bueltge/Authenticator). == Installation == = Requirements = * WordPress version 1.5 and later, see tested up to * PHP 5.2* * Single or Multisite installation On PHP-CGI setups: * `mod_setenvif` or `mod_rewrite` (if you want to user HTTP-Authentication for feeds) = Installation = 1. Unpack the download-package 2. Upload folder include the file to the `/wp-content/plugins/` directory. 3. Activate the plugin through the `Plugins` menu in WordPress or use the installer via backend of WordPress = On PHP-CGI setups = If you want to use HTTP-Authentication for feeds (available since 1.1.0 as a *optional* feature) you have to update your `.htaccess` file. If [mod_setenvif](http://httpd.apache.org/docs/2.0/mod/mod_setenvif.html) is available, add the following line to your `.htaccess`: SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 Otherwise you need [mod_rewrite](http://httpd.apache.org/docs/current/mod/mod_rewrite.html) to be enabled. In this case you have to add the following line to your `.htaccess`: RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] In a typical Wordpress .htaccess it all looks like: RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteRule . /index.php [L] respectively in a multisite installation: # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # uploaded files RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteRule . index.php [L] # END WordPress = Settings = You can change the settings of Authenticator on Options → Reading. The settings refer to the behaviour of your blog's feeds. Should they be protected by HTTP-Authentication (not all Feed-Readers support this) or by an authentication token, which is simply add to your feed URL as Parameter. The third option is to keep everything in place. So Feed-URLs will be redirected to the login page if the user is not logged in (send no auth-cookie). If you using token authentication, you can show the token to the blog users on their profile settings page by setting these option. = HTTP Auth = Users can gain access to the feed with their Username/Password. = Token Auth = The plugin will generate a token automaticaly, when choosing this option. Copy this token and share it with the people who should have access to your feed. If your token is ```ef05aa961a0c10dce006284213727730``` the feed-URLs looks like so: # main feed http://yourblog.com/feed/?ef05aa961a0c10dce006284213727730 #main comment feed http://yourblog.com/comments/feed/?ef05aa961a0c10dce006284213727730 #without permalinks http://yourblog.com/?feed=rss2&ef05aa961a0c10dce006284213727730 = API = **Filters** * `authenticator_get_options` Whith this filter you have access to the current authentication-token: