ory / kratos

The most scalable and customizable identity server on the market. Replace your Homegrown, Auth0, Okta, Firebase with better UX and DX. Has all the tablestakes: Passkeys, Social Sign In, Multi-Factor Auth, SMS, SAML, TOTP, and more. Written in Go, cloud native, headless, API-first. Available as a service on Ory Network and for self-hosters.
https://www.ory.sh/?utm_source=github&utm_medium=banner&utm_campaign=kratos
Apache License 2.0
11.14k stars 954 forks source link

Support social login with Steam #3631

Open tbureck opened 10 months ago

tbureck commented 10 months ago

Preflight checklist

Ory Network Project

No response

Describe your problem

I was looking into adding social login with Steam. However, I found out that - to my surprise - they don't use Open ID Connect to offer "login with Steam", but the older Open ID 2.0 protocol. Hence, Kratos currently doesn't offer tools for users to connect their Steam accounts.

Describe your ideal solution

I'd like Kratos to support registration and login with Steam. Ideally, since the response of the login process is "only" the user's Steam ID, it would even be possible to connect the Steam Web API to fill additional fields like the username. Taking this further, I'd love to go beyond this and even support non-browser flows directly from a game client. I'm not entirely sure what exactly this would require, though.

Workarounds or alternatives

I've read around in the documentation of Kratos and Steam quite a bit in order to find a solution that would be configurable with the current software, but couldn't get anything together. An alternative could be to write a software surrounding Kratos that would handle the Open ID 2.0 process, but then again it would need to simulate something Kratos would understand (password strategy? doesn't really make sense. open ID connect strategy? kind of contradicts my plan to not implement such stuff on my own).

Version

v1.0.0

Additional Context

Steam Open ID 2.0 for websites (on the same page: linking from game clients): https://partner.steamgames.com/doc/features/auth#website

Open ID 2.0 Authentication spec: https://openid.net/specs/openid-authentication-2_0.html

Open ID 2.0 Go library candidates

ysomad commented 9 months ago

Is there any chance it'll be added in near future? Will be really helpful.

ssssargsian commented 9 months ago

Yes, as needed!! Developers where are you??

anast3t commented 9 months ago

dat ll be good