Маркер заменяется звездочками, поскольку AccessingUser (пользователь, выполняющий вышеуказанный код), не имеет достаточных разрешений для соответствия уровню области доступа, необходимому для отображения кода проверки.
В методе GetProperty класса UserInfo требуется, чтобы AccessingUser был либо администратором, либо самим пользователем, чтобы токен отображался без маскировки.Он определяет доступ к пользователю через HttpContext.Current.Items ("UserInfo"), поэтому, чтобы токен правильно отображался, вам нужно будет настроить доступ к администратору портала перед вызовом функции ReplaceEnvironmentTokens.
Пример:
TokenReplace tr = new TokenReplace(Scope.SystemMessages, User.Profile.PreferredLocale, this.PortalSettings, this.User);
tr.AccessingUser = New UserController().GetUser(objPortal.PortalId, PortalSettings.AdministratorId)
string verificationCode = tr.ReplaceEnvironmentTokens("[User:VerificationCode]");
string verificationUrl = Globals.NavigateURL(PortalSettings.LoginTabId) + "?username=" + Server.UrlEncode(User.Username) + "&verificationcode=" + Server.UrlEncode(verificationCode);