Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Twilio能力令牌变得越来越长_Java_Twilio - Fatal编程技术网

Java Twilio能力令牌变得越来越长

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 =

我正在使用Twilio为我的Angular应用程序生成一个功能令牌,用于从浏览器拨打电话。代码如下:

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和身份验证令牌,然后每次使用它们生成功能令牌呢?是的,这就是我现在正在做的。再次感谢!没问题,希望一切顺利!