/// <summary> /// Register a user while optionally accepting legal policies, password, and displayName /// </summary> /// <param name="request">To accept policies, fill acceptedPolicies field</param> /// <param name="callback">Returns a Result that contains RegisterUserResponse via callback</param> public void RegisterAndAcceptPolicies(RegisterUserRequestv2 request, ResultCallback <RegisterUserResponse> callback) { Report.GetFunctionLog(this.GetType().Name); //authType other than EMAILPASSWD is not supported request.authType = AuthenticationType.EMAILPASSWD; Assert.IsTrue( Regex.IsMatch(request.dateOfBirth, "^\\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$"), "Date of birth format is yyyy-MM-dd"); this.coroutineRunner.Run(this.userAccount.Registerv2(request, callback)); }
/// <summary> /// Register a user by giving username, password, and displayName /// </summary> /// <param name="emailAddress">Email address of the user, can be used as login username</param> /// <param name="username">The username can be used as login username, case insensitive, alphanumeric with allowed symbols underscore (_) and dot (.)</param> /// <param name="password">Password to login, 8 to 32 characters, satisfy at least 3 out of 4 conditions(uppercase, lowercase letters, numbers and special characters) and should not have more than 2 equal characters in a row.</param> /// <param name="displayName">Any string can be used as display name, make it more flexible than Username</param> /// <param name="country">User'd country, ISO3166-1 alpha-2 two letter, e.g. US.</param> /// <param name="dateOfBirth">User's date of birth, valid values are between 1905-01-01 until current date.</param> /// <param name="callback">Returns a Result that contains RegisterUserResponse via callback</param> public void Registerv2(string emailAddress, string username, string password, string displayName, string country, DateTime dateOfBirth, ResultCallback <RegisterUserResponse> callback) { Report.GetFunctionLog(this.GetType().Name); var registerUserRequest = new RegisterUserRequestv2 { authType = AuthenticationType.EMAILPASSWD, emailAddress = emailAddress, username = username, password = password, displayName = displayName, country = country, dateOfBirth = dateOfBirth.ToString("yyyy-MM-dd") }; this.coroutineRunner.Run(this.userAccount.Registerv2(registerUserRequest, callback)); }
public IEnumerator Registerv2(RegisterUserRequestv2 registerUserRequest, ResultCallback <RegisterUserResponse> callback) { Report.GetFunctionLog(this.GetType().Name); Assert.IsNotNull(registerUserRequest, "Register failed. registerUserRequest is null!"); var request = HttpRequestBuilder.CreatePost(this.baseUrl + "/v4/public/namespaces/{namespace}/users") .WithPathParam("namespace", this.@namespace) .WithContentType(MediaType.ApplicationJson) .WithBody(registerUserRequest.ToUtf8Json()) .GetResult(); IHttpResponse response = null; yield return(this.httpClient.SendRequest(request, rsp => response = rsp)); var result = response.TryParseJson <RegisterUserResponse>(); callback.Try(result); }