Rob Winch 754befc923 Add ":servlet:spring-boot:java:saml2-login" %!s(int64=5) %!d(string=hai) anos
..
gradle 754befc923 Add ":servlet:spring-boot:java:saml2-login" %!s(int64=5) %!d(string=hai) anos
src 754befc923 Add ":servlet:spring-boot:java:saml2-login" %!s(int64=5) %!d(string=hai) anos
README.adoc 754befc923 Add ":servlet:spring-boot:java:saml2-login" %!s(int64=5) %!d(string=hai) anos
build.gradle 754befc923 Add ":servlet:spring-boot:java:saml2-login" %!s(int64=5) %!d(string=hai) anos
gradle.properties 754befc923 Add ":servlet:spring-boot:java:saml2-login" %!s(int64=5) %!d(string=hai) anos
gradlew 754befc923 Add ":servlet:spring-boot:java:saml2-login" %!s(int64=5) %!d(string=hai) anos
gradlew.bat 754befc923 Add ":servlet:spring-boot:java:saml2-login" %!s(int64=5) %!d(string=hai) anos
settings.gradle 754befc923 Add ":servlet:spring-boot:java:saml2-login" %!s(int64=5) %!d(string=hai) anos

README.adoc

= OAuth 2.0 Login Sample

This guide provides instructions on setting up this SAML 2.0 Login sample application.

The sample application uses Spring Boot and the `spring-security-saml2-service-provider`
module which is new in Spring Security 5.2.

== Goals

`saml2Login()` provides a very simple implementation of a Service Provider that can receive a SAML 2.0 Response via the HTTP-POST and HTTP-REDIRECT bindings against the SimpleSAMLphp SAML 2.0 reference implementation.

The following features are implemented in the MVP:

1. Receive and validate a SAML 2.0 Response containing an assertion, and create a corresponding authentication in Spring Security
2. Send a SAML 2.0 AuthNRequest to an Identity Provider
3. Provide a framework for components used in SAML 2.0 authentication that can be swapped by configuration
4. Work against the SimpleSAMLphp reference implementation

== Run the Sample

=== Start up the Sample Boot Application
```
./gradlew :spring-security-samples-boot-saml2login:bootRun
```

=== Open a Browser

http://localhost:8080/

You will be redirect to the SimpleSAMLphp IDP

=== Type in your credentials

```
User: user
Password: password
```