diff --git a/packages/hydrooj/src/handler/user.ts b/packages/hydrooj/src/handler/user.ts index e6155d3d3..70f666b10 100644 --- a/packages/hydrooj/src/handler/user.ts +++ b/packages/hydrooj/src/handler/user.ts @@ -303,8 +303,12 @@ class UserRegisterWithCodeHandler extends Handler { } async get() { + const provider = this.ctx.oauth.providers[this.tdoc.identity.provider]; this.response.template = 'user_register_with_code.html'; - this.response.body = this.tdoc; + this.response.body = { + ...this.tdoc, + lockUsername: !!provider?.lockUsername, + }; } @param('password', Types.Password) @@ -317,7 +321,7 @@ class UserRegisterWithCodeHandler extends Handler { ) { const provider = this.ctx.oauth.providers[this.tdoc.identity.provider]; if (!provider) throw new SystemError(`OAuth provider ${this.tdoc.identity.provider} not found`); - if (provider.lockUsername) uname = this.tdoc.identity.username; + if (provider.lockUsername) uname = this.tdoc.username; if (!Types.Username[1](uname)) throw new ValidationError('uname'); if (password !== verify) throw new VerifyPasswordError(); const randomEmail = `${randomstring(12)}@invalid.local`; // some random email to remove in the future diff --git a/packages/ui-default/templates/user_register_with_code.html b/packages/ui-default/templates/user_register_with_code.html index 4ca726583..6a8f5834b 100644 --- a/packages/ui-default/templates/user_register_with_code.html +++ b/packages/ui-default/templates/user_register_with_code.html @@ -12,13 +12,13 @@