Merge pull request #180 from glennsarti/ticket/maint/add-dummy-auth

(POOLER-71) Add dummy authentication provider
This commit is contained in:
Rob Braden 2017-02-09 16:44:26 -08:00 committed by GitHub
commit d67db2d380
3 changed files with 39 additions and 3 deletions

View file

@ -32,6 +32,19 @@ module Vmpooler
parsed_config = YAML.load_file(config_file) parsed_config = YAML.load_file(config_file)
end end
# Bail out if someone attempts to start vmpooler with dummy authentication
# without enbaling debug mode.
if parsed_config[:auth]['provider'] == 'dummy'
unless ENV['VMPOOLER_DEBUG']
warning = [
"Dummy authentication should not be used outside of debug mode",
"please set environment variable VMPOOLER_DEBUG to 'true' if you want to use dummy authentication",
]
raise warning.join(";\s")
end
end
# Set some configuration defaults # Set some configuration defaults
parsed_config[:redis] ||= {} parsed_config[:redis] ||= {}
parsed_config[:redis]['server'] ||= 'localhost' parsed_config[:redis]['server'] ||= 'localhost'

View file

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

View file

@ -137,8 +137,22 @@
# This section contains information related to authenticating users # This section contains information related to authenticating users
# for token operations. # for token operations.
# #
# Currently the only supported provider is LDAP; the following parameters # Supported Auth Providers:
# will all be under an ':ldap:' subsection (see example below). # - 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: # Available configuration parameters:
# #
@ -154,8 +168,15 @@
# #
# - user_object # - user_object
# The LDAP object-type used to designate a user object. # The LDAP object-type used to designate a user object.
#
# Example: # Example:
# :auth:
# provider: 'ldap'
# :ldap:
# host: 'localhost'
# port: 389
# base: 'ou=users,dc=company,dc=com'
# user_object: 'uid'
:auth: :auth:
provider: 'ldap' provider: 'ldap'