当前位置: 首页 > 知识库问答 >
问题:

仅允许JWT令牌身份验证,并摆脱用户和密码身份验证

仲高超
2023-03-14

在我的Jitsi Meet Prodody配置文件中:~/。jitsi meet cfg/prosody/config/conf.d

我有以下配置:

admins = {
  "focus@auth.meet.jitsi",
  "jvb@auth.meet.jitsi"
}

plugin_paths = { "/prosody-plugins/", "/prosody-plugins-custom" }
http_default_host = "meet.jitsi"

VirtualHost "meet.jitsi"

authentication = "token"
app_id = "this-is-my-app-id"
app_secret = "FF0AE1DEC0F36167A100CF0C234CF4A5"
allow_empty_token = false

ssl = {
  key = "/config/certs/meet.jitsi.key";
  certificate = "/config/certs/meet.jitsi.crt";
}
modules_enabled = {
  "bosh";
  "pubsub";
  "ping";
  "speakerstats";
  "conference_duration";
}

speakerstats_component = "speakerstats.meet.jitsi"
conference_duration_component = "conferenceduration.meet.jitsi"

c2s_require_encryption = false

VirtualHost "auth.meet.jitsi"
ssl = {
  key = "/config/certs/auth.meet.jitsi.key";
  certificate = "/config/certs/auth.meet.jitsi.crt";
}
authentication = "internal_hashed"

VirtualHost "recorder.meet.jitsi"
modules_enabled = {
  "ping";
}
authentication = "internal_hashed"

Component "internal-muc.meet.jitsi" "muc"
storage = "memory"
modules_enabled = {
  "ping";
}
muc_room_locking = false
muc_room_default_public_jids = true

Component "muc.meet.jitsi" "muc"
storage = "memory"
modules_enabled = {
  "muc_meeting_id";
  "token_verification";
}
muc_room_cache_size = 1000
muc_room_locking = false
muc_room_default_public_jids = true

Component "focus.meet.jitsi"
component_secret = "1380629bfbc47acef63de093bcf231ec"

Component "speakerstats.meet.jitsi" "speakerstats_component"
muc_component = "muc.meet.jitsi"

Component "conferenceduration.meet.jitsi" "conference_duration_component"
muc_component = "muc.meet.jitsi"

有了它,我可以通过jwt令牌进行身份验证。

但是,如果我不指定任何令牌,例如:

https://jitsi.mydummyserver.com/test

然后我得到以下提示询问用户和密码:

有没有办法只允许令牌身份验证并完全摆脱那个提示?

谢谢

共有1个答案

魏俊茂
2023-03-14

您可以在/etc/jitsi/meet中的tokenAuthUrl上设置令牌生成的endpoint/

tokenAuthUrl目前未记录。您可以在此处检查tokenAuthUrl的拉取请求

如果想要在会议URL不包含JWT令牌的情况下完全重定向,那么可以在服务器配置中编写一个简单的Nginx或Apache规则。

由于会议URL位于https://meet.example.com?jwt=

location / {

    set $url 1;    

    if ($arg_jwt = ''){
        set $url 0;
    }   

    if ($url = 1){
        return 301 https://$host$request_uri;
    }

    return 301 https://example.com;
 
}

这将重定向到示例。com如果会议URL不包含JWT查询参数

 类似资料:
  • 我正在开发一个具有自己的身份验证和授权机制的REST应用程序。我想使用JSON Web Tokens进行身份验证。以下是有效且安全的实现吗? < li >将开发一个REST API来接受用户名和密码并进行认证。要使用的HTTP方法是POST,因此没有缓存。此外,在传输时还会有安全SSL < li >在认证时,将创建两个JWTs访问令牌和刷新令牌。刷新令牌将具有更长的有效期。这两个令牌都将写入coo

  • null 我的自定义rest筛选器: 上面的内容实际上会导致应用程序启动时出现一个错误:有人能告诉我如何最好地执行此操作吗?pre_auth筛选器是执行此操作的最好方法吗? 编辑 使用Spring-security实现解决方案 希望它能帮助其他人…

  • 我有一个LaravelAPI(实际上是LumenAPI)服务于VueJS前端。Vue应用程序允许用户登录到谷歌。然后将Google令牌发送回Lumen API,后者使用Google验证令牌,然后验证电子邮件地址是否为有效用户。然后它生成一个令牌,与用户一起存储在数据库中,并返回用户对象。 我没有使用Passport或jwt auth之类的东西。那么现在,我如何使用默认的Auth中间件来验证(现在已

  • 我在做一个全堆栈的web应用程序。我的前端由angular-cli组成,后端由node+Express构建。

  • 我试图用PHP为两个主题相连的领域创建一个简单的SSO系统。 因此,我想知道是否可以将包含用户用户名的签名JWT令牌从域a存储到本地存储。然后使用来自域B的相同密钥来验证JWT,这将导致成功的身份验证。 我在谷歌搜索了一些答案,我发现其中一些包含了一个中间认证域,它将负责认证。但我只想把我有的两个域联系起来。 谢了。