【问题标题】:Validating jwt on native platforms在本机平台上验证 jwt
【发布时间】:2017-10-24 14:28:58
【问题描述】:

我正在构建一个原生 iOS 应用,它使用 OAuth 2.0/OIDC 进行身份验证和授权。身份验证服务器是身份服务器版本 4。

通过查看https://www.rfc-editor.org/rfc/rfc8252 等文档,我已经确定要使用的正确流程是“授权码”流程,即使我们拥有应用程序、身份验证服务器和资源。 我还了解到我们需要使用 SFSafariViewController 等安全浏览器,并且我们需要使用 PKCE 并记住在请求中使用“状态”键并在返回时进行验证。

我的问题是在 iOS 设备上验证 jwt。我按照 jwt.io 上的建议使用 https://github.com/kylef/JSONWebToken.swift

要验证 jwt 的有效性,我们需要检查它是否由我们的身份验证服务器签署。服务器使用异步 rs256 密钥进行签名,并在端点上公开公钥。 JSONWebToken.swift 不支持 rs256,我也找不到任何支持的 iOS 库,那么其他人如何在 iOS 设备上验证 jwt?我想我们可以切换到 JSONWebToken.swift 支持的 HS256,但这是一种同步算法,需要我们将密钥存储在不安全的设备上。

如何解决这个问题,肯定不是我一个人有这个问题...

【问题讨论】:

    标签: ios swift encryption oauth-2.0 signing


    【解决方案1】:

    您可以在https://github.com/vapor/jwt 使用支持 RS256 的 Vapor 包,但您需要自己获取 JWK。

    【讨论】:

      猜你喜欢
      • 2022-08-05
      • 2017-03-02
      • 1970-01-01
      • 2019-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-08
      • 2011-04-04
      相关资源
      最近更新 更多