(POOLER-71) Add dummy authentication provider

Previously it was difficult to do local development as VMPooler requires an LDAP
service for authentication. This commit adds a dummy authentication provider.
The provider has passes authentication if the username and password are
different, and fails if the username and password are the same.  This commit
also updates the documentation in the config YML file.
This commit is contained in:
Glenn Sarti 2017-02-04 20:10:02 -08:00 committed by Ryan McKern
parent 71a5af9e88
commit 2c74f4fa3a
2 changed files with 26 additions and 3 deletions

View file

@ -56,6 +56,8 @@ module Vmpooler
def authenticate(auth, username_str, password_str)
case auth['provider']
when 'dummy'
return (username_str != password_str)
when 'ldap'
require 'rubygems'
require 'net/ldap'

View file

@ -137,8 +137,22 @@
# This section contains information related to authenticating users
# for token operations.
#
# Currently the only supported provider is LDAP; the following parameters
# will all be under an ':ldap:' subsection (see example below).
# Supported Auth Providers:
# - Dummy
# - LDAP
#
# - Dummy Auth Provider
# The Dummy Authentication provider should only be used during development or testing
# If the Username and Password are different then validation succeeds
# If the Username and Password are the same then validation fails
#
# Example:
# :auth:
# provider: 'dummy'
#
# - LDAP Auth Provider
# The LDAP Authentication provider will validate usernames and passwords against an
# existing LDAP service
#
# Available configuration parameters:
#
@ -154,8 +168,15 @@
#
# - user_object
# The LDAP object-type used to designate a user object.
#
# Example:
# :auth:
# provider: 'ldap'
# :ldap:
# host: 'localhost'
# port: 389
# base: 'ou=users,dc=company,dc=com'
# user_object: 'uid'
:auth:
provider: 'ldap'