首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Freeswitch JWT集成

Freeswitch JWT集成
EN

Stack Overflow用户
提问于 2016-11-21 19:59:10
回答 2查看 487关注 0票数 1

我正在尝试在sip客户端和FS系统之间进行集成。SIP客户端在身份验证阶段将JWT令牌作为密码发送。

为了验证客户端,FS创建了一个带有密码字段的目录条目,并将其与从客户端接收到的密码进行比较,在我的示例中,我需要通过获取显示为密码的"token“来覆盖此行为,验证它并向FS返回有关验证结果的答案,以便它知道是接受还是拒绝用户。

我不确定如何在不更改源代码的情况下在FS中覆盖此行为。我更喜欢写一个python或者lua插件来解决这个问题。

非常感谢,

EN

回答 2

Stack Overflow用户

发布于 2016-11-23 01:13:03

似乎应该使用以下解决方案。

为了允许FS使用JWT进行身份验证,必须将JWT内的自定义标头从用户代理发送到FS。此外,将一些已知密码放入用户代理也很重要。

当UA连接到文件系统,并且使用lua脚本(xml-handler- script,xml-handler-bindings)动态构建目录时,可以验证JWT并通过读取自定义标头字段为用户提供正确的目录条目。

如果JWT是有效的,则将使用正确的密码(已知密码)来允许FS继续该操作,否则将提供另一个无效的密码,并且FS将断开连接。

希望这对某些人有帮助,

票数 1
EN

Stack Overflow用户

发布于 2016-11-23 21:42:14

FreeSWITCH中有两个参数:

  1. accept-blind-auth:接受任何身份验证而不进行实际检查(这不是一个好功能,因为目录中的大多数people)
  2. auth-calls:用户可以应用"auth- ACL“参数,以限制用户访问预定义的ACL或CIDR。

请查看更多https://wiki.freeswitch.org/wiki/Sofia.conf.xml#auth-calls

所以现在你可以在调用和注册时调用你的lua脚本,这实际上是检查注册,使用自定义logic.now的invite不会执行任何身份验证。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40719659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档