Twilio功能令牌越来越长

时间:2016-09-06 04:51:55

标签: java twilio

我正在使用Twilio的Java helper library为我的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();
    }
  }
}

在Angular方面,我们调用我们的API来获取新令牌,然后使用它来初始化设备。

Twilio.Device.setup(token, {debug: true});

我在the logs注意到,当重复调用生成此令牌时,令牌会越来越长。

documentation建议每次拨打新电话时生成一个令牌,但是当我尝试这样做时,令牌很快变得无法使用,因为它太长了。所以现在我只是在页面加载时获取令牌,但令牌仍然太快了。

为什么会发生这种情况?我可能在哪里出错?

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

此处设置CapabilityToken课程的方式是问题。您似乎将功能令牌存储为类级别变量,并且每次在类上调用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();
    }
  }
}

如果有帮助,请告诉我。