Skip to content

Commit

Permalink
(POOLER-71) Add dummy authentication provider
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
glennsarti authored and mckern committed Feb 10, 2017
1 parent 71a5af9 commit 2c74f4f
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 3 deletions.
2 changes: 2 additions & 0 deletions lib/vmpooler/api/helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ def authorized?

def authenticate(auth, username_str, password_str)
case auth['provider']
when 'dummy'
return (username_str != password_str)
when 'ldap'
require 'rubygems'
require 'net/ldap'
Expand Down
27 changes: 24 additions & 3 deletions vmpooler.yaml.example
Original file line number Diff line number Diff line change
Expand Up @@ -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:
#
Expand All @@ -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'
Expand Down

0 comments on commit 2c74f4f

Please sign in to comment.