goauthentik / authentik

The authentication glue you need.
https://goauthentik.io
Other
12.8k stars 852 forks source link

Allow Identification via QR Code #9883

Open RoblKyogre opened 3 months ago

RoblKyogre commented 3 months ago

Is your feature request related to a problem? Please describe. In certain situations, typing out a username and password is too cumbersome (especially on devices like consoles and smart TVs and/or if using a long password), and logging in passwordless on that device is not an option.

Describe the solution you'd like I'd like to be able to identify/log into an account by scanning a QR code and using another device to log into the account, similar to how Discord and Steam let the user log in by scanning a QR code.

Describe alternatives you've considered Currently, I'm using social login via Discord to solve this problem since as mentioned, it allows the user to sign in with a QR code. However, it requires me to have a Discord account and log into it on the other device, but I would prefer if I could skip the Discord login and stick entirely to Authentik instead.

Additional context I took a look at #9642 since it aligned most closely with what I'm looking for based on searching the issues for "QR Code," but it seems to request the opposite of what I want: "This would kinda work like the QR Code Auth in WhatsApp Web, Steam or Discord but in reverse." In contrast, I'd like it to work pretty much exactly how Steam or Discord work.

chukfinley commented 1 week ago

+1

cubic3d commented 6 days ago

As far as I understand your request, this is already possible: https://docs.goauthentik.io/docs/providers/oauth2/device_code

The device would receive a URL to show via a QR code which you can scan with another device and login. This is used by e.g. Netflix on the TV app.

RoblKyogre commented 6 days ago

As far as I understand your request, this is already possible: https://docs.goauthentik.io/docs/providers/oauth2/device_code

The device would receive a URL to show via a QR code which you can scan with another device and login. This is used by e.g. Netflix on the TV app.

From what I can interpret (the docs seem unclear on this), the code would be shown in the app that's using authentik to authenticate, as opposed to authentik itself.

I was thinking more about something where the identification stage within authentik itself could have the option to scan a QR code or device code of some kind and log in that way (like how you can use a passwordless flow or an external source like Discord to log in).

I can't tell if the device code flow does this or not, but when I made a Stage Configuration flow for it (nothing in it yet) and set as the Device Code Flow, I didn't see anything in the identification stage inidcating I could log in using a device code or such.