Does Wappler support OpenID?

I am looking to add Steam login to my site.

https://partner.steamgames.com/doc/features/auth#website

First time trying to setup something like this. Can this be done with the oauth2 or jwt signing under globals?

Or would I need to install an OpenID library or wait for passport.js to be added? Wappler Roadmap 2022/2023 and beyond

Please be advised that Steam OAuth available only for Steam Partners aka Game Developers - https://partner.steamgames.com/doc/webapi_overview/oauth

And I don’t see any issue to implement this approach as for example we have implement OKTA Authentication.

P.S.
I’m waiting for Passport.js integration as well.

When I looked into it, it seems they no longer support oauth but never updated the documentation.

OpenId Connect is built on Oauth2, it uses the same flows for authenticating. The difference is that with OpenId Connect you get an ID token instead of an Access Token.

So I should be able to set it up using the OAuth2 under globals? With service set to “custom”?

From what I can see in the docs it should work with the OAuth2 provider.

1 Like

Looking into this more, all Steam provides is an endpoint URL and an API Key. When I try to setup OAuth2 it says I need a client id and client secret. Or am I supposed to do something with JWT?

I found this http://www.passportjs.org/packages/passport-steam/
for setting up Steam login in node but I would need passport to do it.

Any advice to point me in the right direction?

For the OAuth flow a client id is indeed required, the OAuth docs from steam says the following:

Steam’s implementation is based upon OAuth 2.0.
During your initial setup you will need to contact Valve with the following information:
What permissions you need the user to obtain. The required permissions are listed below with each API call.
The token lifetime.
The redirect URI to send the user back to after completing authentication/authorization.
In return, Valve will assign a Client ID for your implementation.

The API Key can be used to access parts of the webapi that are not public, you can add the key to the querystring to access these endpoints.

To let a user login with steam you will probably need the OpenID instead of OAuth2 and it looks like the docs are not correct or outdated. I’ve checked the passport-steam module and they use OpenID 2.0 for authentication. OpenId 2.0 is not the same as OpenId Connect and not compatible with OAuth2. It looks like you will need a custom extension to get Steam login with Wappler.

Thanks a lot for looking into it. Would I be able to set it up easier when Wappler adds Passport.js or would I still need a custom extension?