From c141c79858d6923c31447ce142acbb29e7cafd79 Mon Sep 17 00:00:00 2001 From: Martin Mariano Date: Mon, 7 Feb 2022 21:33:34 -0300 Subject: [PATCH] Added Steam OpenID Connect Provider (#616) Signed-off-by: Martin --- public/v4/apps/steam-openid-provider.yml | 56 ++++++++++++++++++++++ public/v4/logos/steam-openid-provider.png | Bin 0 -> 4066 bytes 2 files changed, 56 insertions(+) create mode 100644 public/v4/apps/steam-openid-provider.yml create mode 100644 public/v4/logos/steam-openid-provider.png diff --git a/public/v4/apps/steam-openid-provider.yml b/public/v4/apps/steam-openid-provider.yml new file mode 100644 index 0000000..5cb3568 --- /dev/null +++ b/public/v4/apps/steam-openid-provider.yml @@ -0,0 +1,56 @@ +captainVersion: 4 +services: + $$cap_appname: + image: ghcr.io/byo-software/steam-openid-connect-provider:sha-c8305ce + restart: always + environment: + OpenID__RedirectUri: $$cap_redirect_uri + OpenID__ClientID: $$cap_client_id + OpenID__ClientSecret: $$cap_client_secret + Hosting__PublicOrigin: $$cap_origin + Authentication__Steam__ApplicationKey: $$cap_api_key + caproverExtra: + containerHttpPort: '80' +caproverOneClickApp: + variables: + - id: $$cap_client_id + label: OAuth Client ID + defaultValue: 'steamidp' + validRegex: /^[a-zA-Z]{1,20}$/ + description: OpenID ClientID used to initiate authorization. + + - id: $$cap_client_secret + label: OpenID Client Secret + defaultValue: $$cap_gen_random_hex(16) + description: OpenID Client Secret used to initiate authorization. + + - id: $$cap_origin + label: OpenID Origin URL + defaultValue: 'http://openid.example.com' + description: 'The base URL of where this app is hosted. Eg: https://openid.example.com or https://example.org. If left blank, it will be inferred.' + + - id: $$cap_api_key + label: Steam API Key + description: A working Steam API Key for this app. (https://steamcommunity.com/dev/apikey) + + - id: $$cap_redirect_uri + label: Post login redirect URL + description: URL the user will be redirected after login is authorized through Steam. + defaultValue: 'http://example.com/callback' + + instructions: + start: >- + Steam OpenID 2.0 -> OpenID Connect Provider Proxy + This server allows you to use Steam as an OpenID Connect Identity + provider (OIDC IDP). This way you can use Steam logins in KeyCloak or + any other OpenID Connect based authentication client. + end: >- + Your service is available at http://$$cap_appname.$$cap_root_domain + + Check its health with: + + curl -X GET 'http://$$cap_appname.$$cap_root_domain/health' + displayName: 'Steam OpenID Connect Provider' + isOfficial: true + description: This server allows you to use Steam as an OpenID Connect Identity provider (OIDC IDP). This way you can use Steam logins in KeyCloak or any other OpenID Connect based authentication client. + documentation: https://github.com/byo-software/steam-openid-connect-provider diff --git a/public/v4/logos/steam-openid-provider.png b/public/v4/logos/steam-openid-provider.png new file mode 100644 index 0000000000000000000000000000000000000000..df788b05a686c861ef717748e9e24313e4141e02 GIT binary patch literal 4066 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