GithubHelp home page GithubHelp logo

chrludwig / websec-saml2sp Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 2.0 96 KB

SAML 2.0 SSO Service Provider demo application fro the WebSec course

License: Apache License 2.0

Java 82.88% Shell 10.02% Batchfile 7.10%

websec-saml2sp's Introduction

WebSec SAML 2.0 SSO Service Provider Demo Application

This project implements a Spring Boot Web application that demonstrates Single Sign On using the SAML 2.0 WebSSO profile. It builds on Vincenzo De Notaris's Spring Boost-based Spring Security SAML Extension Sample Service.

Functional changes

  • Besides SSOCircle, saml2sp supports a locally running WSO2 Identity Server (Version >= 5.1.0) as an alternative IdP.
  • Role information in the SAML credential attributes is used to determine the Spring Security authorities (or roles) of the logged in user. (If there are no supported roles in the the SAML credential, then the USER role is assumed by default.)
  • The various pages of the Web application have different access control requirements. The pages are accessible:
    • Without any constraints by everybody;
    • By logged in users only (no matter their roles);
    • By anonymous users only (i.e., not logged in users);
    • By users in the USER and ADMIN roles only, respectively;
    • By no-one.

Build

The build of saml2sp requires Oracle JDK 8. (To be precise, saml2sp can probably be built with any Java >= 7, including OpenJDK. But WSO2's Identity Manager still requires Oracle's Java implementation.)

For building saml2sp, you only need to call ./mvnw clean install in the project's top level directory. This will produce an executable JAR file in the target directory.

Running

The Web application is deployed in an embedded Tomcat inside the JAR file. When you start it by calling

java -jar saml2sp-0.0.2-localInMemoryAuth-SNAPSHOT.jar

then the embedded Tomcat will serve the application at http://localhost:8080/ .

websec-saml2sp's People

Contributors

chrludwig avatar

Stargazers

Alessio Giori avatar  avatar

Watchers

Christoph Ludwig avatar  avatar Ankit Dave avatar

Forkers

vk4 almubinsultan

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.