Java Twilio能力令牌变得越来越长
我正在使用Twilio为我的Angular应用程序生成一个功能令牌,用于从浏览器拨打电话。代码如下:Java Twilio能力令牌变得越来越长,java,twilio,Java,Twilio,我正在使用Twilio为我的Angular应用程序生成一个功能令牌,用于从浏览器拨打电话。代码如下: public class CapabilityToken { private TwilioCapability capability; public String get(String applicationSid) { capability.allowClientOutgoing(applicationSid); try { String token =
public class CapabilityToken {
private TwilioCapability capability;
public String get(String applicationSid) {
capability.allowClientOutgoing(applicationSid);
try {
String token = capability.generateToken();
// logging happens here
return token;
} catch (DomainException e) {
e.printStackTrace();
}
}
}
在角度方面,我们调用API获取一个新令牌,然后使用它初始化设备
Twilio.Device.setup(token, {debug: true});
我注意到,随着生成此令牌的重复调用,令牌变得越来越长
建议每次打新电话时生成一个令牌,但当我尝试时,令牌很快变得不可用,因为它太长了。所以现在我只是在页面加载时获取令牌,但是令牌仍然很快变长
为什么会发生这种情况?我哪里会出错?这里是Twilio开发者福音传道者 您设置
能力的方式是这里的问题。您似乎将一个功能令牌存储为类级别变量,每次调用类上的get
,您都会向该类添加另一个传出客户端权限。这就是为什么它的尺寸每次都在增加。相反,您应该每次生成一个新的TwilioCapability
,如下所示:
public class CapabilityToken {
public String get(String applicationSid) {
TwilioCapability capability = new TwilioCapability(ACCOUNT_SID, AUTH_TOKEN);
capability.allowClientOutgoing(applicationSid);
try {
String token = capability.generateToken();
// logging happens here
return token;
} catch (DomainException e) {
e.printStackTrace();
}
}
}
如果有帮助,请告诉我。啊!这很有道理。非常感谢。问题:如果我也设置一次客户端权限,可以吗?还是每次都需要创建一个新的功能?(我问这个问题的原因是因为我需要解密帐户SID和身份验证令牌,我更愿意这样做一次。)您每次都需要一个新功能。但是为什么不在加载应用程序时只解密一次帐户SID和身份验证令牌,然后每次使用它们生成功能令牌呢?是的,这就是我现在正在做的。再次感谢!没问题,希望一切顺利!