Support SAML authentication (#25165)

Closes https://github.com/go-gitea/gitea/issues/5512

This PR adds basic SAML support
- Adds SAML 2.0 as an auth source
- Adds SAML configuration documentation
- Adds integration test:
- Use bare-bones SAML IdP to test protocol flow and test account is
linked successfully (only runs on Postgres by default)
- Adds documentation for configuring and running SAML integration test
locally

Future PRs:
- Support group mapping
- Support auto-registration (account linking)

Co-Authored-By: @jackHay22

---------

Co-authored-by: jackHay22 <[email protected]>
Co-authored-by: Lunny Xiao <[email protected]>
Co-authored-by: KN4CK3R <[email protected]>
Co-authored-by: wxiaoguang <[email protected]>
Co-authored-by: Jason Song <[email protected]>
Co-authored-by: morphelinho <[email protected]>
Co-authored-by: Zettat123 <[email protected]>
Co-authored-by: Yarden Shoham <[email protected]>
Co-authored-by: 6543 <[email protected]>
Co-authored-by: silverwind <[email protected]>
This commit is contained in:
techknowlogick
2024-02-23 00:08:17 +00:00
committed by GitHub
co-authored by jackHay22 Lunny Xiao KN4CK3R wxiaoguang Jason Song morphelinho Zettat123 Yarden Shoham 6543 silverwind
parent c4b0cb4d0d
commit 5bb8d1924d
37 changed files with 1440 additions and 69 deletions
+8
View File
@@ -37,6 +37,14 @@ jobs:
MINIO_ROOT_PASSWORD: 12345678
ports:
- "9000:9000"
simplesaml:
image: allspice/simple-saml
ports:
- "8080:8080"
env:
SIMPLESAMLPHP_SP_ENTITY_ID: http://localhost:3002/user/saml/test-sp/metadata
SIMPLESAMLPHP_SP_ASSERTION_CONSUMER_SERVICE: http://localhost:3002/user/saml/test-sp/acs
SIMPLESAMLPHP_SP_SINGLE_LOGOUT_SERVICE: http://localhost:3002/user/saml/test-sp/acs
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5