mirror of
https://github.com/warp-tech/warpgate.git
synced 2024-11-15 12:31:55 +08:00
916d51a4e8
This is done using the `role_mappings` property. Roles to be mapped are gotten from the 'warp_groups` oidc claim: ```sso_providers: - name: custom_sso label: Custom SSO provider: type: custom client_id: <client_id> client_secret: <client_secret> issuer_url: <issuer_url> scopes: ["email", "profile", "openid", "warp_groups"] #warp_groups is scope name to request for my demo case, which adds a "warpgate_groups" claim to the userinfo role_mappings: - ["warpgate:admin", "warpgate:admin"] ``` This maps the `warpgate:admin` group from OIDC to the `warpgate:admin` role. This [video on YouTube](https://youtu.be/XCYSGGCgk9Q) demonstrates the functionality --------- Co-authored-by: Eugene <inbox@null.page>
73 lines
1.9 KiB
YAML
73 lines
1.9 KiB
YAML
version: '3'
|
|
services:
|
|
oidc-server-mock:
|
|
container_name: oidc-server-mock
|
|
image: ghcr.io/soluto/oidc-server-mock:latest
|
|
ports:
|
|
- '4011:80'
|
|
environment:
|
|
ASPNETCORE_ENVIRONMENT: Development
|
|
SERVER_OPTIONS_INLINE: |
|
|
{
|
|
"AccessTokenJwtType": "JWT",
|
|
"Discovery": {
|
|
"ShowKeySet": true
|
|
},
|
|
"Authentication": {
|
|
"CookieSameSiteMode": "Lax",
|
|
"CheckSessionCookieSameSiteMode": "Lax"
|
|
}
|
|
}
|
|
LOGIN_OPTIONS_INLINE: |
|
|
{
|
|
"AllowRememberLogin": false
|
|
}
|
|
LOGOUT_OPTIONS_INLINE: |
|
|
{
|
|
"AutomaticRedirectAfterSignOut": true
|
|
}
|
|
API_SCOPES_INLINE: |
|
|
- Name: some-app-scope-1
|
|
- Name: some-app-scope-2
|
|
IDENTITY_RESOURCES_INLINE: |
|
|
- Name: warpgate-scope
|
|
ClaimTypes:
|
|
- warpgate_groups
|
|
# API_RESOURCES_INLINE: |
|
|
# - Name: wapgate_groups
|
|
# Scopes:
|
|
# - warpgate
|
|
USERS_CONFIGURATION_INLINE: |
|
|
[
|
|
{
|
|
"SubjectId":"1",
|
|
"Username":"User1",
|
|
"Password":"pwd",
|
|
"Claims": [
|
|
{
|
|
"Type": "name",
|
|
"Value": "Sam Tailor",
|
|
"ValueType": "string"
|
|
},
|
|
{
|
|
"Type": "email",
|
|
"Value": "sam.tailor@gmail.com",
|
|
"ValueType": "string"
|
|
},
|
|
{
|
|
"Type": "warpgate_groups",
|
|
"Value": "[\"qa\", \"unknown\"]",
|
|
"ValueType": "json"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
CLIENTS_CONFIGURATION_PATH: /tmp/config/clients-config.json
|
|
ASPNET_SERVICES_OPTIONS_INLINE: |
|
|
{
|
|
"ForwardedHeadersOptions": {
|
|
"ForwardedHeaders" : "All"
|
|
}
|
|
}
|
|
volumes:
|
|
- .:/tmp/config:ro
|