login: implement logging in via browser

This commit is contained in:
Skip R
2026-01-07 18:50:02 -08:00
parent 8a28fa0f95
commit b764f489de
2 changed files with 163 additions and 0 deletions

View File

@@ -27,6 +27,11 @@ const LoginStepIDComplete = "fi.mau.discord.login.complete"
func (d *DiscordConnector) GetLoginFlows() []bridgev2.LoginFlow {
return []bridgev2.LoginFlow{
{
ID: LoginFlowIDBrowser,
Name: "Browser",
Description: "Log in to your Discord account in a web browser.",
},
{
ID: LoginFlowIDRemoteAuth,
Name: "QR Code",
@@ -46,6 +51,8 @@ func (d *DiscordConnector) CreateLogin(ctx context.Context, user *bridgev2.User,
return &DiscordTokenLogin{connector: d, User: user}, nil
case LoginFlowIDRemoteAuth:
return &DiscordRemoteAuthLogin{connector: d, User: user}, nil
case LoginFlowIDBrowser:
return &DiscordBrowserLogin{connector: d, User: user}, nil
default:
return nil, fmt.Errorf("unknown discord login flow id")
}