Stop a bad service-user JWT from disabling every member's softphone

FixVOIPService
Shipped
September 5, 2026 at 6:39 AM UTC
Author
Kamo
Commit
07ed000

Minting from a member's own JWT called configFactory.require(inst), which insists the phone server's SERVICE-USER JWT is present and well-formed. That credential plays no part in the exchange: a member's JWT is presented under the app's client id and secret, nothing else. So an instance whose service JWT was unusable took down the softphone of every member whose own credential was perfectly good — and the reporting org sat in exactly that state for hours, its instance sync logging "has an unusable JWT credential" every eleven minutes. build() instead. RingCentralJwtTokenService already refuses a config with no app credentials, which is the half that actually matters here, and the sign-in path was already built this way.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing