VAIBHAV JAIN - Self-starter | Full-stack developer | 24/7 remote

About Me Blog RSS

How to use SSO/SAML with Django?

  • SSO
  • Django
  • Python
  • SAML
  • onelogin

saml

What is SSO/SAML?

Have you ever wondered how to setup your own SP using Django?

How and where to store your user data?

How to authenticate users and give access to your services/apps?


Let’s start with basics of SSO & SAML

  • SSO - Single Sign-On. Allows Users to sign on in one website or system and automatically be signed on in another website or system. See http://en.wikipedia.org for a detailed description of Single Sign-On.
  • SAML - Security Assertion Markup Language is an open standard for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider.
  • SAML Metadata
    • The metadata used to make SAML work.
  • Asserting party (AP) or Identity Provider (IDP)
    • IDP is a service /website that provide user identity information like (username, security token and email address etc…) through Saml-2 Request/Response using HTTP-POST
    • Send assertions to relying party
  • Relaying party (RP) or Service Provider (SP)
    • This is the actual website/client consumes the Identity information shared by the IDP through Saml 2
    • Request/Response using HTTP-POST
    • Consume the assertions from AP/IDP
  • Assertions
    • Data exchanged from AP to RP (XML Data)
    • Can include user identity, authentication data, or any other attributes
  • User/Actor/Browser
    • Request protected resource from service provider.
    • Act as bridge between SP and IDP for SAML communication.

Learn more at:

How to Setup Idp?

Coming soon