【问题标题】:Ktor application.conf - Jwt configurationKtor application.conf - Jwt 配置
【发布时间】:2021-03-22 22:37:48
【问题描述】:

我正在尝试在我的 ktor 应用中设置 JWT 身份验证Documentation 建议在 application.conf 文件中定义一个 jwt 验证器,如下所示:

jwt {
    domain = "https://jwt-provider-domain/"
    audience = "jwt-audience"
    realm = "ktor sample app"
}

我不是 jwt 身份验证专家,所以我想知道 domainaudiencerealm 设置的含义是什么,遗憾的是文档缺少这些细节。

【问题讨论】:

    标签: kotlin gradle jwt jwt-auth ktor


    【解决方案1】:

    通过查看生成的 jwt 令牌,事实证明:

    • audienceRFC 7519 "aud" 声明中得到解决:

    “aud”(受众)声明标识 JWT 的接收者 用于。

    通常它是一个区分大小写的字符串数组,其中包含客户端标识符。例如,它可能是应用程序包名称,例如:

    ios.organization.appname, android.organization.appname
    
    • 解决了RFC 7519“iss”声明:

    “iss”(颁发者)声明标识了颁发 智威汤逊。

    这是特定于应用程序的,在我的情况下,我选择了身份验证服务器的标识符(单点登录),例如:

    sso.organization.com
    
    • 领域在我生成的 jwt 令牌中没有任何该字段的痕迹,但从 ktor documentation 看来,该字段用于 WWW-Authenticate 响应标头中

    【讨论】:

      【解决方案2】:

      据我所知,文档将域称为颁发者 (iss) 声明,将受众称为 aud 声明(在https://www.rfc-editor.org/rfc/rfc7519#section-4.1 中描述)。其他设置可能不是必需的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-20
        • 2016-11-10
        • 2017-05-18
        • 2017-03-06
        • 1970-01-01
        • 2021-09-12
        • 2020-02-23
        相关资源
        最近更新 更多