simple-sso | Single sign on service with authorization capabilities | Authentication library
kandi X-RAY | simple-sso Summary
kandi X-RAY | simple-sso Summary
simple-sso is an SSO service with support for roles based authorization written in the Go programming language. For browser based applications the service exposes the /sso handler which sets the sso cookie for a given domain. For instance if the login service runs as login.example.com, the sso cookie domain could be configured as example.com. That way any application running under a subdomain of example.com will be able to leverage the sso service (see rfc6265). The value of the sso cookie is a jwt token signed by the rsa private key of the simple-sso service. To use this service the application needs to have the corresponding public key in order to decrypt the cookie. The app checks for the presence of the sso cookie and in the absence of that it redirects to the /sso handler of the sample-sso service setting the s_url parameter to its url. The login service is expected to redirect the user back to s_url post authentication. See the code under example_app directory. simple-sso exposes /auth_token handler which can be used to download the encrypted jwt token. The downloaded token can potentially be passed via Authorization headers by client applications to server apps hopefully using ssl. simple-sso also has a form of authorization capabilities. It can optionally pack in the roles (e.g openldap groups) information in the cookie/jwt based on a config environment variables.. They say a picture is thousand times more effective, so here is a diagram which shows traffic flow with simple-sso.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of simple-sso
simple-sso Key Features
simple-sso Examples and Code Snippets
Community Discussions
Trending Discussions on simple-sso
QUESTION
Want to know some best ways how to achieve Single Sign On for cross platform django projects. I have a monolithic application which is getting converted to Multi Tenant system. The core part of the monolithic application is converted and divided into micro services but there are portions and part of monolithic application which will take time to get converted.
So currently I cannot remove monolithic application hence needed a way to implement Single Sign On for these two application running in parallel.
Monolithic Stack:- Python, Django1.10, mysql, MultiTenantSystem Stack :- Python, Django2.1, Postgres
Some references :- https://github.com/aldryn/django-simple-sso https://medium.com/@MicroPyramid/django-single-sign-on-sso-to-multiple-applications-64637da015f4
...ANSWER
Answered 2018-Dec-14 at 12:46I would recommand working with OpenID Connect or SAML. At work we are currently using django-oidc-provider with some business customization of course. This allows you to serve a single sign-on across multiple platforms.
The way it works is having a central authentication server that handles all logins and redirects the user to clients, which then again, exchange for an access-token
and/or id-token
. How to implement the access token from here varies, but for your sake the back-end middleware would fetch user info from the authentication server, and give the user a session cookie for your service related to the user info just fetched.
Or even better, use id-tokens
. That way you dont need to ask for user info from the authentication server as these are JWT and can be verified by cryptography.
For more info you can checkout the OpenID website.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install simple-sso
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page