Git Product home page Git Product logo

eduid_identityprovider's Introduction

Ansible Playbook for Shibboleth Identity Provider (IdP)

Installation

  • Clone the repository, replace with the actual name of your institution

      git clone  https://github.com/ubuntunet/eduID_IdentityProvider.git <institution>-idp
      cd <institution>-idp
    

Inventory File

Create the inventory file for your institution, for more information: http://docs.ansible.com/ansible/intro_inventory.html

    cp inventories/template inventories/<institution>

Open the inventory file with your favorite editor and change the ansible_host and ansible_user to your server environment. Don't forget to again replace .

Variables File

Create the variables file for your institution, more information: http://docs.ansible.com/ansible/playbooks_variables.html

    cp group_vars/template group_vars/<institution>

Open the variable files in your favorite editor and adapt the values to your setup.

Secrets File

Some values - passwords, credentials - are sensitive and should never be submitted to the Github repository. They are therefore stored in a file called secrets.yml, which is being ignored by Github.

Create the secrets.yml file

    cp group_vars/secrets.yml.example group_vars/serets.yml

Open the secrets.yml file and add the sensitive values.

There are many ways to create random passwords/passphrases/salt, I prefer to use openssl for this task. You can replace 12 with a higher number for longer strings.

    openssl rand -base64 12

Run the playbook

    ansible-playbook -i inventories/<institution> identity_provider.yml 

If you want to try it out locally, and you have Vagrant/Virtualbox installed, the following command will run the playbook using the development inventory/variabels.

    vagrant up --provision

Register on UbuntuNets Resource Registry

UbuntuNet Alliance is running a resource registry at https://registry.eduid.africa. This registry can be used by all our member NRENs. Please get in contact with us ([email protected]), so we can add you as a user.

If you already have a federation on the Resource Registry:

  • Login at https://registry.eduid.africa
  • Go to Register > Identity Federation
  • SSH into the server
  • Copy the content of the IdP metadata file (/opt/shibboleth-idp/metadata/idp-metadata.xml) from your server into the Metadata form field and click "Next".
  • Choose the federation you want your IdP to be added from the "Federation" drop down field and review the preset entries in the other fields.
  • Submit the registration request by clicking on "Register"

RedHat 6

The playbook runs on RHEL6, but when running it on PPC architecture, you'll need to download and install current versions of Java (7 or 8) and Tomcat7 yourself.

Here is a useful guide: http://lifeofageekadmin.com/install-tomcat-7-java-1-7-centos-6-rhel-6

There is an error, replace /app with /opt in the init.d and setenv.sh scripts.

eduid_identityprovider's People

Contributors

hydrat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

eduid_identityprovider's Issues

Explanatory text when accessing the root URL

The root page is currently showing the exercise. This should be replaced with a site that explains:

  • Role of the IdP
  • How to make sure that the IdP is working
  • Where to go from here
  • Link to the exercises?

Add a variables list to define the available attributes in LDAP

This is currently hardwired in ldap.properties.j2:

idp.attribute.resolver.LDAP.returnAttributes = cn,
sn,
displayName,
eduPersonAffiliation,
eduPersonAffiliation,
eduPersonEntitlement,
eduPersonPrincipalName,
givenName,
mail,
schacHomeOrganization,
schacHomeOrganizationType,
uid,
schacGender

Add a static test user

This helps in testing as there is no need to connect to a backend for testing purposes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.