VERSION
version 0.0018SYNOPSIS
PAUSE:
use Config::Identity::PAUSE;
# 1. Find either $HOME/.pause-identity or $HOME/.pause
# 2. Decrypt the found file (if necessary), read, and parse it
# 3. Throw an exception unless %identity has 'user' and 'password' defined
my %identity = Config::Identity::PAUSE->load;
print "user: $identity{user} password: $identity{password}\n";
GitHub API:
use Config::Identity::GitHub; # 1. Find either $HOME/.github-identity or $HOME/.github # 2. Decrypt the found file (if necessary) read, and parse it # 3. Throw an exception unless %identity has 'login' and 'token' defined my %identity = Config::Identity::PAUSE->load; print "login: $identity{login} token: $identity{token}\n";
DESCRIPTION
Config::Identity is a tool for loadiing (and optionally decrypting via GnuPG) user/pass identity informationFor GitHub API access, an identity is a "login"/"token" pair
For PAUSE access, an identity is a "user"/"password" pair
USAGE
%identity = Config::Identity->load_best( <stub> )
First attempt to load an identity from $HOME/.<stub>-identityIf that file does not exist, then attempt to load an identity from $HOME/.<stub>
The file may be optionally GnuPG encrypted
%identity will be populated like so:
<key> <value>
For example:
username alice password hunter2
Using a custom gpg or passing custom arguments
You can specify a custom "gpg" executable by setting the CI_GPG environment variable
export CI_GPG="$HOME/bin/gpg"
You can pass custom arguments by setting the CI_GPG_ARGUMENTS environment variable
export CI_GPG_ARGUMENTS="--no-secmem-warning"
Encrypting your identity information with GnuPG
If you've never used GnuPG before, first initialize it:
# Follow the prompts to create a new key for yourself gpg --gen-key
To encrypt your GitHub identity with GnuPG using the above key:
# Follow the prompts, using the above key as the "recipient" # Use ^D once you've finished typing out your authentication information gpg -ea > $HOME/.github
Caching your GnuPG secret key via gpg-agent
Put the following in your .*rc
if which gpg-agent 1>/dev/null then if test -f $HOME/.gpg-agent-info && \ kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2>/dev/null then . "${HOME}/.gpg-agent-info" export GPG_AGENT_INFO else eval `gpg-agent --daemon --write-env-file "${HOME}/.gpg-agent-info"` fi else fi
PAUSE identity format
user <user> password <password>
"username" can also be used as alias for "user"
GitHub identity format
login <login> token <token>
AUTHOR
Robert Krimen <[email protected]>COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Robert Krimen.This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.