parent
6a80ce878f
commit
8b5106adc7
|
@ -40,6 +40,9 @@ public class TwilioConfiguration {
|
||||||
@JsonProperty
|
@JsonProperty
|
||||||
private String localDomain;
|
private String localDomain;
|
||||||
|
|
||||||
|
@JsonProperty
|
||||||
|
private String messagingServicesId;
|
||||||
|
|
||||||
public String getAccountId() {
|
public String getAccountId() {
|
||||||
return accountId;
|
return accountId;
|
||||||
}
|
}
|
||||||
|
@ -55,4 +58,8 @@ public class TwilioConfiguration {
|
||||||
public String getLocalDomain() {
|
public String getLocalDomain() {
|
||||||
return localDomain;
|
return localDomain;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getMessagingServicesId() {
|
||||||
|
return messagingServicesId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@ import org.apache.http.NameValuePair;
|
||||||
import org.apache.http.message.BasicNameValuePair;
|
import org.apache.http.message.BasicNameValuePair;
|
||||||
import org.whispersystems.textsecuregcm.configuration.TwilioConfiguration;
|
import org.whispersystems.textsecuregcm.configuration.TwilioConfiguration;
|
||||||
import org.whispersystems.textsecuregcm.util.Constants;
|
import org.whispersystems.textsecuregcm.util.Constants;
|
||||||
|
import org.whispersystems.textsecuregcm.util.Util;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -53,14 +54,16 @@ public class TwilioSmsSender {
|
||||||
private final String accountId;
|
private final String accountId;
|
||||||
private final String accountToken;
|
private final String accountToken;
|
||||||
private final ArrayList<String> numbers;
|
private final ArrayList<String> numbers;
|
||||||
|
private final String messagingServicesId;
|
||||||
private final String localDomain;
|
private final String localDomain;
|
||||||
private final Random random;
|
private final Random random;
|
||||||
|
|
||||||
public TwilioSmsSender(TwilioConfiguration config) {
|
public TwilioSmsSender(TwilioConfiguration config) {
|
||||||
this.accountId = config.getAccountId();
|
this.accountId = config.getAccountId ();
|
||||||
this.accountToken = config.getAccountToken();
|
this.accountToken = config.getAccountToken();
|
||||||
this.numbers = new ArrayList<>(config.getNumbers());
|
this.numbers = new ArrayList<>(config.getNumbers());
|
||||||
this.localDomain = config.getLocalDomain();
|
this.localDomain = config.getLocalDomain();
|
||||||
|
this.messagingServicesId = config.getMessagingServicesId();
|
||||||
this.random = new Random(System.currentTimeMillis());
|
this.random = new Random(System.currentTimeMillis());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,7 +74,12 @@ public class TwilioSmsSender {
|
||||||
MessageFactory messageFactory = client.getAccount().getMessageFactory();
|
MessageFactory messageFactory = client.getAccount().getMessageFactory();
|
||||||
List<NameValuePair> messageParams = new LinkedList<>();
|
List<NameValuePair> messageParams = new LinkedList<>();
|
||||||
messageParams.add(new BasicNameValuePair("To", destination));
|
messageParams.add(new BasicNameValuePair("To", destination));
|
||||||
|
|
||||||
|
if (Util.isEmpty(messagingServicesId)) {
|
||||||
messageParams.add(new BasicNameValuePair("From", getRandom(random, numbers)));
|
messageParams.add(new BasicNameValuePair("From", getRandom(random, numbers)));
|
||||||
|
} else {
|
||||||
|
messageParams.add(new BasicNameValuePair("MessagingServiceSid", messagingServicesId));
|
||||||
|
}
|
||||||
|
|
||||||
if ("ios".equals(clientType.orNull())) {
|
if ("ios".equals(clientType.orNull())) {
|
||||||
messageParams.add(new BasicNameValuePair("Body", String.format(SmsSender.SMS_IOS_VERIFICATION_TEXT, verificationCode, verificationCode)));
|
messageParams.add(new BasicNameValuePair("Body", String.format(SmsSender.SMS_IOS_VERIFICATION_TEXT, verificationCode, verificationCode)));
|
||||||
|
|
Loading…
Reference in New Issue