Closed Bug 1669448 Opened 4 years ago Closed 3 years ago

Add ability to authenticate using Steam (OpenID provider)

Categories

(Webtools Graveyard :: Pontoon, defect, P5)

Tracking

(Not tracked)

RESOLVED MOVED

People

(Reporter: thevidocq, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0

Steps to reproduce:

I repeated the steps as here, but for steam https://github.com/mozilla/pontoon/commit/3462eff11975cf5442bc03d3ba6b617666f94fd2

Also discourse thread: https://discourse.mozilla.org/t/openid-steam-authentication-how-to/68606

Actual results:

I managed to get to the Steam login page. But, when i press sign in it redirects me back with an error.

Oops!
Something is wrong. We're going to fix it soon.

link to the heroku log: https://pastebin.com/1yZTjNRs

Probably an important part:
django.urls.exceptions.NoReverseMatch: Reverse for 'socialaccount_signup' not found. 'socialaccount_signup' is not a valid view function or pattern name.

Expected results:

Successful authentication through Steam (OpenID)

Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P5
Summary: OpenID authentication not work → Add ability to authenticate using Steam (OpenID provider)

Update:
However, each authentication attempt creates an "Open id nonce"
https://i.imgur.com/XWSlHOB.png
Maybe this information will be useful.

Hey :Alan

Can you provide a patch (without sensitive credentials) that would show the changes? AFAIR besides the Django configuration, a few additional tweaks are needed.

It's hard to tell what can be the cause of the problem without looking at the code.

Hi Jarek
Uh, not sure how to do that. In short, I just repeated the steps as in this commit.
https://github.com/mozilla/pontoon/commit/3462eff11975cf5442bc03d3ba6b617666f94fd2

Apart from SOCIALACCOUNT_PROVIDERS, as I found out, it is not needed (Steam openid built into django-allauth) and according to the documentation the OpenID provider does not require any settings per se.

I'm just a game developer, and I want people to use Steam for authorization, since not everyone has a github account (which is broken) and not everyone wants to use Google.

:Alan
I had fixed a few issues and I was able to get to the Steam's sign-in page from my Pontoon instance. I couldn't sign-in though, because of an error:

Reverse for 'socialaccount_signup' not found. 'socialaccount_signup' is not a valid view function or pattern name.

The Steam provider doesn't support auto sign-in, because Steam's API doesn't expose email addresses. When Allauth can't sign-in users automatically, it sends them to a sign-up form.

Unfortunately, the official (Mozilla) instance of Pontoon doesn't need to support the sign-up form. Because of that, the code that handles sign ups is missing.

I would need to take another look to verify how much work is required to make this work.

Ah, the email address, I should have guessed..
I will be grateful for the information, maybe I should start looking for other options.
Anyway thank you!

*This bug has been moved to GitHub.*

*Please check it out on https://github.com/mozilla/pontoon/issues.*
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → MOVED
Product: Webtools → Webtools Graveyard
You need to log in before you can comment on or make changes to this bug.