이메일 코드를 활용한 간편한 계정 가입

Discourse 커뮤니티는 이제 마법 링크 대신 이메일로 전송된 짧은 코드를 사용하여 로그인할 수 있도록 할 수 있습니다. 이는 많은 다른 SaaS 플랫폼에서 익숙하게 볼 수 있는 비밀번호 없는 로그인 플로우를 제공하며, 기존 2단계 인증 설정과 함께 작동합니다.

이 주제에서는 주요 변경 사항을 검토하고, 오늘부터 이 기능을 사용하기 시작하는 방법을 공유하겠습니다.

:microscope: 변경된 사항

이 기능이 활성화되면 회원들은 더 간단한 플로우를 경험하게 됩니다:

:

  1. 이메일 주소를 입력하고 계속 버튼을 클릭합니다.
  2. 6자리 코드가 수신함에 도착합니다. 코드를 붙여넣기(또는 입력)하면 마지막 자리가 채워지는 순간 양식이 자동으로 제출됩니다.
  3. 2단계 인증(TOTP, 백업 코드, 또는 보안 키)이 활성화되어 있다면, 다음으로 표준 2FA 단계가 나타납니다.

알아두면 좋은 몇 가지 세부 사항: 코드는 10분간 유효하며, 5회 실패 후 만료되고, 한 번만 사용 가능합니다.

:gear: 커뮤니티에서 1회용 로그인 코드 활성화하기

현재 이 변경 사항은 실험적 기능으로 간주됩니다! 보다 널리 배포하기 전에, 개선 사항을 도울 수 있도록 여러분의 피드백을 환영합니다.

이 기능을 활성화하려면 관리자 영역의 예정된 변경 사항 페이지(/admin/config/upcoming-changes)로 이동하여 코드를 통한 로컬 로그인 활성화 항목을 찾으세요. 활성화 대상… 필드를 업데이트하여 사이트에 이 새로운 디자인을 적용합니다:

:warning: 활성화하기 전에, 이 기능은 enable_local_loginsenable_local_logins_via_email이 모두 true여야만 켤 수 있으므로 이 두 설정이 true인지 확인하세요. DiscourseConnect(enable_discourse_connect)를 사용 중인 경우 이 기능을 활성화할 수 없습니다.

변경 사항이 활성화되면 코드 로그인 경로가 자동으로 나타납니다.

:game_die: 신규 계정을 위한 랜덤 사용자 이름

인식 가능한 사용자 이름이 포함된 이메일 없이 가입하는 신규 회원에게는 이제 user1과 같은 일반적인 플레이스홀더 대신 "QuietFalcon42"와 같은 친근하게 생성된 이름이 부여됩니다. 계정 준비 단계에서 제안된 이름이 미리 입력되며, 새로운 이름을 생성하기 위한 주사위 버튼이 포함됩니다.

제안 이름 뒤에 있는 단어 목록은 random_username_adjectivesrandom_username_nouns 사이트 설정을 통해 구성할 수 있으므로, 커뮤니티는 자신의 톤이나 언어에 맞게 조정할 수 있습니다. 이전의 번호 기반 폴백을 유지하려면 enable_random_usernames를 비활성화하여 옵트아웃할 수 있습니다.

:mega: 여러분의 생각은?

이제 여러분의 차례입니다: 이 새로운 기능에 대해 어떻게 생각하는지 듣고 싶습니다. 무엇이 좋고 나쁜지, 무엇이 잘 작동하고 무엇이 개선될 수 있는지 알려주세요.

11개의 좋아요

I just gave it a try on my site. I’m not sure what everybody else thinks, but this seems like a pretty big downgrade to me as a password manager user…

This new flow removes the current “generate email, type username, generate password, save” strategy that my password manager has pushed me into and forces you to type the email first before everything. I don’t have an issue with the email code thing (and in fact almost prefer it, especially if the code is included in the email subject) but I strongly oppose removing the other account data boxes. If I were a user with zero technical background I would also see myself not handing out my email to a box with no info like this because it isn’t a common design. Before this becomes a permanent thing, it’d be great if that was added back.

2개의 좋아요

Email codes, AKA “magic links”, are decent, but nudging users towards passkeys makes the experience way, way better.

One of the biggest problems with email codes is that they don’t do what you’d want them to do in in-app browsers, including Gmail’s in-app browser.

Probably the most common problem people run into with magic links is they think they have logged into the site on their normal browser, but they’re actually logged in through an in-app browser. For example, someone might receive the login link to their email. They open up the Gmail app, click the “Sign in to 404 Media” button, and their phone loads the webpage. But this is loading the website in Gmail’s web browser, not your native Safari one.

Passkeys fix this issue.

To start, websites using magic links can make passkeys an optional, opt-in feature for the customers who have complained about how their magic links work today. To ensure it doesn’t cause any problems, as a sort of soft launch, they could make the feature 100% opt-in.

Slightly later on, once the people running the website are convinced that passkeys really help with the user experience issues around magic links, they can prompt users to add passkeys after signing in, once every 90 days or so, or whenever they sign-in using the cross-device sign-in feature of passkeys. The framing of such a prompt can be something like this for users on Apple devices: Want to avoid having to check your email next time? Set up a passkey to use Face ID or Touch ID to sign in quickly and securely.

Nudging users towards passkeys is the same as nudging users towards using a password manager, because passkeys are just passwords that require a password manager.

2개의 좋아요

Hello :waving_hand:

I like this approach a lot! However, it bothers me a bit that the display name cannot be changed before the registration is finished. I think it would be great to add an option to change it during the process.

In my community, I have disabled the Prioritize username in UX site setting, which means the Full Name/Display Name is prioritized across the UI. Because of this, automatically assigned names like “user21” look pretty bad on the front-end if the user doesn’t have an immediate option to customize it.

Thanks!

6개의 좋아요

This new flow does not send a magic link. It only sends the code. The user stays on the same page, and copy/pastes the code from their email to the signup form. So this new approach does help with in-app browsers (it’s one of the main advantages of the change).

This is certainly something we would like to do next, in the password step of the signup. Apps and websites have ramped up their support of passkeys, I keep seeing the passkeys nudge in many contexts, so it makes sense to add to Discourse as well. (Critical mass of support is very helpful in this switch from passwords to passkeys.)

3개의 좋아요

My only issue with this feature is that it removes the name and username fields from my signup page. Is this intentional? I don’t want to force users to spelunk around in settings right after signup just to set a username that isn’t “user63”.

3개의 좋아요

This email verification code registration method is a change I’ve always wanted!

1개의 좋아요

Without this change, the “I forgot my password” and the “Email me” link had the same size. Now the latter is larger. Is that intentional?

4개의 좋아요

It was fixed in

4개의 좋아요

Thanks for the feedback, yes it is intentional as part of a faster way to create accounts.

Noted, yes we are exploring ideas to make this next step simpler or set initial usernames using a different method.

1개의 좋아요

I agree. Those generic usernames make interacting with users more confusing. Since users by default only have 3 days to update the names, I expect that frequently they will notice after that time has passed, so staff needs to take care of renaming them.
I really enjoyed that Offering blank username suggestions rather than ‘UserN’ at signup prevented that from happening for example here on meta. The last userXXX was created on January 7th before that fix was merged. Then there was no new userXXX until this feature was enabled, and since then there are 12 new ones.

4개의 좋아요

이 기능은 매우 유용합니다. 점점 더 많은 플랫폼들이 특정 기기(해당 인증 도구가 설치된 기기)를 손에 들고 있지 않아도 MFA를 통한 안전한 로그인을 제공하기 위해 ‘이메일로 받는 일회용 코드’ 기능을 활용하고 있습니다.

5개의 좋아요

계정 생성 과정에서 이 단계를 보지 못하나요?

이것은 좀 이상한 인용입니다. DomMcD가 저를 인용한 것처럼 보이지만, 사실은 그렇지 않습니다.

저는 해당 단계를 테스트해 본 적이 없습니다. 저는 Meta에서 신규 사용자와 관련된 제 관찰 사항에 대해 언급하고 있을 뿐입니다. 가입 시 특정 필드를 보느냐의 여부는 중요하지 않습니다. 다른 사람들이 그 필드를 어떻게 다루는지에 대해 제가 어떻게 대응해야 하는지가 중요하니까요.

또한 이름이 어떻게 처리되는지도 궁금합니다. 모든 사용자가 생성된 사용자명을 사용하는 것은 아닌 것 같지만, 이름이 userXXX로 설정된 사용자가 더 많다는 것을 알아차립니다.

사용자명을 변경해도 여전히 그런 이름이 부여되는 것 같습니다. 이로 인해 같은 숫자가 반복적으로 사용되다가, 해당 사용자명이 이미 사용 중이면 다음 숫자로 다시 시작되는 현상이 발생한다고 합니다.

예를 들어, 0102100988082, mohamedasarudeen, user603 모두 이름이 user603입니다.

그들이 이름을 변경할 수 있다는 것은 알고 있지만, 다시 말하지만, 제가 그들과 상호작용하는 경험은 제가 바꿀 수 있는 것이 아닙니다.

2개의 좋아요

모두가 보고해 주셔서 감사합니다. 수정이 곧 병합될 예정입니다:

2개의 좋아요

업데이트

@keegan님의 최신 작업 덕분에, 이제 이 단계에서 추천 이름을 미리 채워 넣는 사용자 이름 생성 기능이 추가되었습니다:

UX 관련 요청 하나, 가능하다면요. 이거요:

제 기기들은 여기에서 비밀번호가 필요하다고 확신하는 것 같지만, 이메일을 묻는 것이 맞습니다. 그러면 제 폰 등이 다른 인증 정보 대신 주소를 제안하도록 인식할 수 있거든요.

1개의 좋아요