lib/slh/templates/config.rb.erb in shibboleths_lil_helper-1.0.2 vs lib/slh/templates/config.rb.erb in shibboleths_lil_helper-1.0.3

- old
+ new

@@ -1,40 +1,96 @@ +# ABOUT +# ===== +# This file is the basis for your shibboleth config for +# all entities, hosts, sites, and url paths you want to protect for your organization. +# +# All slh commands utilize this file to do its thing. +# +# To get started: +# * fill in the REQUIRED items +# * run slh generate +# * deploy the files our to your server to the appropriate place +# * fight with your server to get somesite.com/Shibboleth.sso/Metadata spitting out XML +# for each host +# +# Then: +# * run slh verify_metadata +# * copy sp-key, sp-cert, etc +# * re-run command until you aren't seeing any errors +# Then: +# * run slh generate_metadata +# * give the metadata to your IDP folks +# +# Verify: +# * Goto somesite.com/Shibboleth.sso/Login +# * You should be prompted to login +# +# A strategy +# has one entity +# has a metadata url +# has many hosts +# a host has many sites +# a site has many protected paths +# a protected path can require auth, optionally use auth, or restrict to a +# particular set of users +# Slh.for_strategy :test_idp do - set :sp_entity_id, 'YOUR_ENTITY_ID' - set :idp_metadata_url, 'YOUR_IDP_METADATA_URL' - set :error_support_contact, 'YOUR_ERROR_SUPPORT_EMAIL_ADDRESS' + set :sp_entity_id, 'YOUR_ENTITY_ID' # REQUIRED, https://yourorg.umn.edu/shibboleth/default - for_apache_host 'SOMEHOSTNAME.COM' do - # UNCOMMENT THIS IF YOUR SHIB STUFF LIVES IN A NON-STANDARD LOCATION - # set :shib_prefix, '/swadm/etc/shibboleth' - for_site 'SOMESITENAME1.COM' do + set :idp_metadata_url, 'YOUR_IDP_METADATA_URL' # REQUIRED, https://idp-test.shib.umn.edu/metadata.xml + set :error_support_contact, 'YOUR_ERROR_SUPPORT_EMAIL_ADDRESS' # OPTIONAL + + # Can be either + # for_apache_host + # or + # for_iis_host + for_apache_host 'SOMEHOSTNAME.COM' do # REQUIRED + # uncomment if your shib stuff lives in a non-standard location + # set :shib_prefix, '/swadm/etc/shibboleth' # OPTIONAL + + # uncomment if and fill-in if you are using IIS + # set :site_id, "YOU_MUST_SET_THE_SITE_ID_HERE" # REQUIRED if for_iis_host + # + # replace with the host name of your server + for_site 'SOMESITENAME1.COM' do # REQUIRED # Each strategy must set this for exactly one site # its used as the authoritative source to from which all other # sites metadata's X509Certificate should match # the sp-key.pem and sp-cert.pem files from this host should be # copied to all other hosts underneath the strategy - # - set :is_key_originator, true - protect 'SOME_PATH_YOU_WANT_TO_REQUIRE_AUTH' - end - for_site 'SOMESITENAME2.COM' do - protect 'SOME_PATH_YOU_WANT_OPTIONAL_AUTH' do - set :flavor, :authentication_optional + set :is_key_originator, true # REQUIRED, see instructions + protect '/' do # REQUIRED + # delete this line if you want to require auth for the whole site + set :flavor, :authentication_optional # OPTIONAL + # There are three "flavors": + # authentication_required: defaults to this if unspecified + # i.e. (no do-end block required) + # protect 'secure' + # + # authentication_optional: Makes it possible for + # the app layer to redirect to Shibboleth.sso/Login + # i.e. + # protect 'lazy_auth' do + # set :flavor, :authentication_optional + # end + # authentication_required_for_specific_users: Require auth and restrict to + # a particular set of users (not-tested extensively) + # i.e. + # protect 'specific_users' do + # set :flavor, :authentication_required_for_specific_users + # set :specific_users, %w(SOMEUSER@SOME.DOMAIN.COM ANOTHERUSER@SOME.DOMAIN.COM) + # end end + # ... for each protected dir for this site ... end - for_site 'SOMESITENAME3.COM' do - protect 'SOME_PATH_YOU_WANT_TO_RESTRICTED_TO_PARTICULAR_USERS' do - set :flavor, :authentication_required_for_specific_users - set :specific_users, %w(SOMEUSER@SOME.DOMAIN.COM ANOTHERUSER@SOME.DOMAIN.COM) - end - end + # ... for each site on this host ... end - for_iis_host 'SOMEIISHOSTNAME.COM' do - for_site 'SOMEIISSITENAME1.COM' do - set :site_id, "YOU_MUST_SET_THE_SITE_ID_HERE" - protect 'SOME_PATH_YOU_WANT_TO_REQUIRE_AUTH' - end - end + # ... for each host within this strategy (using this entity_id) end -Slh.clone_strategy_for_new_idp :test_idp, - :production_idp, - 'THE_PRODUCTION_IDP_METADATA_URL' +# ... for each strategy/aka entity_id ... +# +# Uncomment this line if you want to create a new strategy that is identical +# an existing one but points at a different IDP entity URL +# +# Slh.clone_strategy_for_new_idp :test_idp, # OPTIONAL +# :production_idp, +# 'THE_PRODUCTION_IDP_METADATA_URL'