Skip to content

Latest commit

 

History

History
32 lines (23 loc) · 958 Bytes

README.md

File metadata and controls

32 lines (23 loc) · 958 Bytes

saml

This is an experiment towards a Jupyter notebook authenticating to a SAML IdP.

Nutshell:

  • Python process spawns HTTP server
  • PySAML integration interacts with the IdP
  • Eventually, we store a SAML Response assertion and use that to access protected services.

Install

Requires: Python3

git clone [email protected]:NCATS-Tangerine/saml.git
cd saml
python3.6 -m venv <env>
source <env>/bin/activate
pip install -r requirements.txt
jupyter notebook SAML_Authentication.ipynb 

This should open a jupyter notebook window. Run the cells. Then, in a terminal window, run:

python client.py localhost saml.xml

The client reads a SAML response from a file, packages that as a field in a posted JSON object and sends it to our server.

Currently, this produces an error in the notebook saying that the XML is not properly formed. So there's probably an easier way to do the post. If you see the problem, don't hesitate to point it out.