All Projects → byo-software → steam-openid-connect-provider

byo-software / steam-openid-connect-provider

Licence: MIT license
Steam OpenID Connect Identity Provider (IdP)

Programming Languages

C#
18002 projects
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to steam-openid-connect-provider

SteamAuthOOP
OpenID-Login through Steam for your website
Stars: ✭ 32 (-20%)
Mutual labels:  steam, steam-api, openid
Punk
⚡ Alternative cross-platform Steam client for desktop
Stars: ✭ 87 (+117.5%)
Mutual labels:  steam, steam-api
Steamcmd Autoupdate Any Gameserver
Windows SteamCMD to autoupdate and install any game server steam cmd settings configurable lots of useful features. This batch script will keep your game servers automaticly updated updating intervals announce the server is shutting down for updates etc all configurable.
Stars: ✭ 77 (+92.5%)
Mutual labels:  steam, steam-api
Steampy
A Steam trading library for python 3
Stars: ✭ 212 (+430%)
Mutual labels:  steam, steam-api
Steam Market
Find arbitrages on the Steam Market.
Stars: ✭ 25 (-37.5%)
Mutual labels:  steam, steam-api
Personal Influxdb
Import data from various APIs into InfluxDB
Stars: ✭ 51 (+27.5%)
Mutual labels:  steam, steam-api
Steamforwarder
steam_api.dll implementation for wine. Your windows games now can interact with your linux steam! (This repo mirrors https://gitlab.com/xomachine/SteamForwarder)
Stars: ✭ 190 (+375%)
Mutual labels:  steam, steam-api
SteamCMD-AppID-List
Complete Steam AppID List
Stars: ✭ 12 (-70%)
Mutual labels:  steam, steam-api
CSGO-Overpay-Bot
No description or website provided.
Stars: ✭ 31 (-22.5%)
Mutual labels:  steam, steam-api
market-pricing
Wrapper for the unofficial Steam Market Pricing API
Stars: ✭ 21 (-47.5%)
Mutual labels:  steam, steam-api
sotsera.blazor.oidc
OpenID Connect client for Blazor client-side projects
Stars: ✭ 21 (-47.5%)
Mutual labels:  openid, openid-connect
Archisteamfarm
C# application with primary purpose of idling Steam cards from multiple accounts simultaneously.
Stars: ✭ 7,219 (+17947.5%)
Mutual labels:  steam, steam-api
Hourboostr
Two programs for idling Steam game hours and trading cards
Stars: ✭ 372 (+830%)
Mutual labels:  steam, steam-api
Steamworks
Exposing SteamWorks functions to SourcePawn.
Stars: ✭ 70 (+75%)
Mutual labels:  steam, steam-api
Passport Steam
Steam (OpenID) authentication strategy for Passport and Node.js.
Stars: ✭ 280 (+600%)
Mutual labels:  steam, openid
Async Gamequery Lib
A high-performance java game query library designed for steam/source based games and others
Stars: ✭ 88 (+120%)
Mutual labels:  steam, steam-api
InternalSteamWebAPI
Documenting the unofficial and internal Steam Web API
Stars: ✭ 126 (+215%)
Mutual labels:  steam, steam-api
steam-stylegan2
Train a StyleGAN2 model on Colaboratory to generate Steam banners.
Stars: ✭ 30 (-25%)
Mutual labels:  steam, steam-api
download-steam-reviews
Download Steam reviews for any game. Available on PyPI.
Stars: ✭ 26 (-35%)
Mutual labels:  steam, steam-api
php-steam-web-api-client
Automatically generated api client for the Steam Web API.
Stars: ✭ 79 (+97.5%)
Mutual labels:  steam, steam-api

Steam OpenId Connect Provider

Steam OpenID 2.0 -> OpenID Connect Provider Proxy

About

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.

Setup

Add your Steam API Key as user-secrets like this: dotnet user-secrets set "Steam:ApplicationKey" "MySteamApiKey"

Alternatively you can set it up via environment variables: Steam__ApplicationKey=MySteamApiKey (Keep in mind that this is easier but more insecure)

After that set up your redirect URI, ClientID and ClientSecret in the appsettings.json.

If you need to set up multiple redirect URIs, you can set them separated by a comma. OpenID__RedirectUri="http://localhost:8080/auth/realms/master/broker/steam/endpoint, http://localhost:8080/auth/realms/dev/broker/steam/endpoint"

OpenID Configuration

You can access Authorization and Token endpoint details in http://<Your Host>/.well-known/openid-configuration

Supported Scopes

The following scopes are supported: openid, profile.

If you use the profile scope, you get access to the picture, given_name, website and nickname claims too.

HTTPS Support

The server itself does not support https connections. If you want to use https connections please use a reverse proxy like nginx. The example docker-compose.yml contains an example setup.

Running behind reverse proxies

Some reverse proxy setups might require additional configuration, like setting the path base or origin.

To set the origin, set Hosting:PublicOrigin in the appsettings.json or the Hosting__PublicOrigin environment variable to your desired origin. If not set, the origin name is inferred from the request.

Similary, you can use the Hosting:PathBase in the appsettings.json or the Hosting__PathBase environment variable to set the path base. If not set, it will default to "/".

Health checks

This service contains a health check endpoint at /health. It checks if the Steam login servers are working.

Docker

A docker image is also available.

docker run -it \
    -e OpenID__RedirectUri=http://localhost:8080/auth/realms/master/broker/steam/endpoint \
    -e OpenID__ClientID=steamidp \
    -e OpenID__ClientSecret=mysecret \
    -e OpenID__ClientName=myclientname \
    -e Steam__ApplicationKey=MySteamApiKey \
    --restart unless-stopped \
    --name steamidp \
    ghcr.io/byo-software/steam-openid-connect-provider

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].