authgear / authgear/authgear-server
"Unknown error" when Account Linking with Public Signup Disabled
- Dominant language
- Go
- Stars
- 2k
- Forks
- 125
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 32
Description
**Describe the bug**
When sign-ups are disabled, user's can't use different e-mails and expect to have a valid authentication, of course. However, when using a social login, a user with a matching e-mail in the Authgear db should get authenticated and have its social login bound to its account.
However, that's not happening, giving an error in the logs (base64 encoded) that says sign-ups are disabled:
```json
{
"error": {
"name": "Forbidden",
"reason": "AuthenticationFlowNoPublicSignup",
"message": "public signup is disabled",
"code": 403,
"tracking_id": "REDACTED",
"info": {
"FlowType": "signup",
"FromURL": "/sso/oauth2/callback/google"
}
},
"tracking_id": "REDACTED"
}
```
For users, it says an expected error has occurred in the e-mail input.
**Authgear Version**
2026-07-30.0
**To Reproduce**
1. Disable user sign-ups
2. Enable some social login (I used Google)
3. Have a user with no social login yet, but with the e-mail in Authgear coinciding with the social login one
4. In a separate session, login with social (Google) and get the error
**Expected behavior**
Since the user is present in the database and the e-mail matches, the social login should get bound to the user immediately.
**Screenshots**
**Client Env (if applicable, please complete the following information):**
- Device: Desktop
- OS: macOS 27 Golden Gate
- Browser: Safari
- Browser Version: 27
**Additional context**
Nothing.
Thanks :)
Contributor guide
Research direction
Start at the reported /sso/oauth2/callback/google entry point and trace the AuthenticationFlowNoPublicSignup error during the signup flow. Reproduce with public signup disabled and a matching existing email, then verify that the social login binds to the existing account without showing the unknown error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- authentication
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100