Introduction
This software provides a basic BrowserID primary (authenticating party) based on an existing local IMAP server setup. Users use their IMAP login and password to authenticate themselves as the owner of their email address.
The primary does not have any external dependencies other than Perl, the CPAN modules listed below, an IMAP server, and a web server software capable of running CGI scripts.
Assumptions About Your E-Mail Setup
This software assumes that email addresses can be resolved to user
names by way of /etc/aliases
and that the user names provided
therein are identical to those accepted by your IMAP server for
purposes of authenticating.
If this is not true for your setup, you will need to hack the source code.
Download
Fetch it from GitHub or Bitbucket, or use the local Git repository:
git clone https://matthias.benkard.de/code/mulkyid.git
Installation
Prerequisites
The following CPAN modules need to be installed:
CGI
CGI::Fast
CGI::Session
common::sense
Crypt::OpenSSL::RSA
File::Slurp
JSON
MIME::Base64
Mail::ExpandAliases
Mail::IMAPTalk
Modern::Perl
Time::HiRes
Key Setup and jQuery Download
In order to generate an RSA private key and download necessary
third-party components, run setup.sh
.
setup.sh
will also generate a browserid.json
file and prompt you
to put it wherever your web server will be able to serve it as
/.well-known/browserid
. It is very important to do this now,
because browserid.org
will look at that location and cache the
response, even if it is just a 404.
License
Copyright 2012, Matthias Andreas Benkard.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Comments
Submit a comment
Note: This website uses a JavaScript-based spam prevention system. Please enable JavaScript in your browser to post comments. Comment format is plain text. Use blank lines to separate paragraphs.