oauth - 带有客户凭证的 PKCE
问题描述
我们将客户端凭据工作流用于我们的一些网络应用程序,这些应用程序与内部 API 通信以获取某些非用户特定的数据。
这些应用程序是使用服务器端代码编写的,因此我们可以安全地存储客户端 ID 并秘密使用它来生成短期令牌,这些令牌可以使用所述令牌向 API 发出请求。
最近我们公开了一些用作 WebViews 的 URL,我们希望使它们只能从应用程序访问,因此,我们希望使用类似的方法,其中 URL 将传递一个令牌来证明它有权访问内容。
可以以相同的方式生成此令牌...通过客户端 ID 和机密。
但是,由于这些客户端 ID 和机密存储在应用程序中,这意味着任何下载应用程序并对其进行反编译的人都可以获得它们并开始生成自己的令牌,这在其他工作流中通过 PKCE 解决,从而生成和验证代码质询。
但这似乎只是防止在一个应用程序上生成代码,然后在另一个应用程序(未生成质询)上使用该代码生成令牌。
是否可以将 PKCE 与客户端凭据工作流程一起使用?
解决方案
推荐阅读
- python - 传递 boto3 客户端的最佳方式?
- java - 设置 OpenJDK JVM 故障转储位置
- asp.net-core-webapi - Asp.Net webapi:抛出新的 RestException(HttpStatusCode.Unauthorized)
- php - iframe 在 Chrome 中失去重定向会话
- c++ - 为什么 c++ std::find 返回 container.end() 而不是 NULL 来表示“未找到”?
- json - 以 JSON 格式 Swift 向服务器发送数据
- prometheus - 将作业动态添加到 Prometheus 配置
- c# - 在本机 C++ 中将变量从 C# 编组为 void*,并在本机程序内更改 Managed/C# 中的变量值
- python - 如何为 Python 3.9 安装 PyCrypto?
- c# - 什么是
在 System.Span 中 在 C# 中?