在免费/开源软件中使用 OAuth

2024-01-04

我现在正在阅读一些关于OAuth的介绍材料,有想法在免费软件中使用它。

我读到了这个:

消费者的秘密永远不能被泄露 向任何人透露。不要包含它 在任何请求中,在任何代码中显示它 样本(包括开源)或 任何方式揭示它。

如果我使用 OAuth 为特定网站编写免费客户端,那么我必须在源代码中包含消费者秘密,否则从源代码制作将使软件无法使用。然而,正如所说,这个秘密不应该与消息来源一起被泄露。

我完全理解安全考虑,但是,如何解决这个困境,并在自由软件中使用 OAuth?

我想过使用外部网站作为身份验证的代理,但这非常复杂。你有更好的想法吗?

Edit:
有些客户喜欢Gwibber也使用OAuth,但我没有检查它的代码。


我不确定我是否遇到了问题,您不能将代码开发为开源代码,从配置文件中检索客户机密,或者将其保留在数据库中的特殊表中吗?这样,代码将不包含客户秘密(因此将作为开源“可共享”),但应用程序仍然可以访问客户秘密。

也许对目标平台有更多的详细信息会有所帮助,就像在某些(我现在正在考虑 tomcat)参数中,例如这个参数可以包含在服务器配置文件中。

如果是 PHP,我知道一个开源项目(Moodle)的案例,它保留了 php (配置文件 http://docs.moodle.org/en/Configuration_file)文件包含所有重要配置的定义,并从所有页面引用该文件以获取定义。管理员有责任使用该安装特有的值来完成此文件的内容。事实上,如果应用程序发现文件丢失(通常是在第一次访问站点时),它将重定向到一个向导,管理员可以在其中以更用户友好的方式填充内容。在这种情况下,客户秘密将是这些配置之一,因此将出现在“生产”代码中,但不会出现在代码的“可分发”形式中。

我个人喜欢将该值存储在数据库中为其设计的表中以及可能的其他参数的想法,因为不需要更改代码。如果值不存在,也许这里也可以显示安装向导。

这能解决您的问题吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在免费/开源软件中使用 OAuth 的相关文章

  • 轻量级 Windows 应用程序的最佳开源示例是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 尝试在 Spring MVC 中使用 OAuth 保护资源

    我们已经在 Spring MVC 上使用 Java 编写了 REST Web 服务 我一直在努力保护它们 OAuth 服务器在另一个网站中实现 该网站处理登录和访问令牌的创建 因此 在允许用户访问网络服务之前 我需要验证访问令牌是否正确 然
  • 值得学习的优秀 Zend Framework 示例应用程序 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将 Django OAuth2 提供程序与 JupyterHub 结合使用

    我正在尝试运行与 JupyterHub 服务器配对的 Django Web 应用程序 用户通过 Web 应用程序输入 然后在登录后获得对笔记本服务器的访问权限 为了促进这一点 我尝试使用OAuth2 其中 Django 提供身份验证 Jup
  • 将服务连接到现有的流星帐户

    我正在设置一个流星应用程序 其中涉及使用用户名和密码进行注册 然后希望将该帐户与 Facebook 和 Twitter 连接起来 我只需使用帐户包即可轻松启动并运行第一部分 但是当我有一个登录用户调用 Meteor loginWithFac
  • 使用 Google OAuth2.0 时出现错误请求

    从 Salesforce 中使用 Google OAuth 时 我收到 400 错误请求 以下错误与无效的 grant type 有关 但如果您查看 使用刷新令牌 下的文档 您会发现它是正确的 https developers google
  • 您如何评论 RFC?

    我有一些关于OAuth RFC 草案 https datatracker ietf org doc html draft hammer oauth 10 特别是关于它包含的一些错误 但我不确定可接受的制作方法是什么 底部有一个电子邮件地址
  • 哪里可以找到可靠的 K-medoid(不是 k-means)开源软件/工具? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在学习 K medoids 算法 所以如果我提出不恰当的问题 我很抱歉 据我所知 K medoid
  • Spring Boot - 使用 JWT、OAuth 以及单独的资源和身份验证服务器

    我正在尝试构建一个使用 JWT 令牌和 OAuth2 协议的 Spring 应用程序 我的身份验证服务器正在运行 感谢本教程 https medium com nydiarra secure a spring boot rest api w
  • OAuth2 变量redirect_uri

    我们正在编写一个与 OAuth2 API 集成的插件 棘手的部分是 我们无法像大多数集成中那样对重定向 URI 进行硬编码 因为客户端可以在他们控制的任何域上安装此插件 例如 Wordpress 插件 并且访问令牌需要重定向回其自定义 ur
  • Twitter\OAuth2\Python 入门

    我正在尝试使用 python 连接到 twitter 但我发现它真的很令人沮丧 我读到的所有内容都表明我需要一个消费者密钥 一个消费者秘密 一个访问密钥和一个访问秘密 例如 使用python OAUTH2访问OAUTH保护的资源 http
  • Foursquare - OAuth 身份验证 - .Net 示例

    是否有关于如何使用 Oauth 向 Foursquare 进行身份验证的示例 这里有一个关于如何将 OAuth 与 Foursquare 结合使用的非常好的工作流程摘要 http developer foursquare com docs
  • 如果即使对于开源项目,rails 项目的任何源代码也应该被隐藏怎么办? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这是一个很难寻找的东西 如果我有一个开源 Rails Web 应用程序项目 其源代码是公开托管的 例如在 GitHub 上 如果该应用
  • 使用 ADAL v3 使用 ClientID 对 Dynamics 365 进行身份验证

    我正在尝试对我们的在线 Dynamics CRM 进行身份验证以使用可用的 API 我能找到的唯一关于执行此操作的官方文档是 https learn microsoft com en us dynamics365 customer enga
  • 在 MVC API 中使用 Microsoft Azure Active Directory 验证 OAuth 2.0 不记名令牌时出现 401

    我正在写一个MVC 中的 API 服务 没有视图 只有 API 我想使用通过 client credentials 流获取的 OAuth 2 0 令牌 两条腿的 OAuth 我创建了一个Azure 管理门户中的 ActiveDirector
  • 适用于移动应用程序的 REST API 上的 OAuth

    我正在开发移动应用程序的后端 使用 ASP NET MVC 4 Web Api 构建 RESTful API 该应用程序将在 iOS 和 Android 上运行 我的用户将只能使用他们的 Facebook 帐户登录 并且只有登录后 他们才能
  • 如何在 Facebook 应用程序中关闭“使用严格模式重定向 URI”

    有什么办法可以关闭该选项Use Strict Mode for Redirect URIs在 Facebook 应用程序中 自 2018 年 3 月起 此属性似乎已自动打开并呈灰色显示 因此无法禁用 Facebook 似乎不允许身份验证 除
  • 如何在 Java Android 中为客户端请求设置 HttpPost 标头

    我无法让 Apache HttpClient 正确发送 HttpPost 标头 我在发送名称值对等方面没有任何问题 但是每当我设置或添加 POST 标头时 它就会在发出请求时消失 我尝试过 setHeader 和 addHeader 以及同
  • OpenID 和 OAuth 之间有什么区别?

    我真的想了解 OpenID 和 OAuth 之间的区别 也许它们是两个完全不同的东西 OpenID http openid net 是关于身份验证 即证明您是谁 OAuth http oauth net 是关于授权的 即授予对功能 数据 等
  • 防火墙后面的 Web 应用程序上的 OAuth——这可能吗?

    我正在尝试构建一个网络应用程序来将事件添加到员工的谷歌日历中 并希望使用 OAuth 进行身份验证 但是 我的 Web 应用程序被迫位于防火墙后面的 Intranet 上 服务器具有出站 Internet 访问权限 但如果您不在 Intra

随机推荐

  • ICS 模拟器没有软件按钮吗?

    因此 我正在将我的应用程序从 3 0 更新到 4 0 但我遇到了模拟器问题 具体来说 软件按钮可以not使用 Galaxy Nexus ish 皮肤时会出现 我不确定它是否准确 但应该足够接近 这是WXGA720 它的值 Hardware
  • 将树状图与 Python 的 scipy.cluster.hierarchy 中的簇号进行匹配

    以下代码生成一个具有 10 个叶节点的简单层次聚类树状图 import scipy import scipy cluster hierarchy as sch import matplotlib pylab as plt X scipy r
  • Python tkinter画布闪烁

    首先 我应该声明 我知道该网站上还有其他名称相似的帖子 我已经经历过它们 但据我所知 它们并没有解决我的问题 实际上我想说我的问题比大多数例子要简单得多 简而言之 我想创建一个透明矩形 可以用来显示拖动选择区域 当我发现 tkinter 不
  • 我制作的相机效果不佳,为什么玩家移动速度比相机快?

    我制作了一个游戏 但是当我想添加相机来移动玩家时 它不起作用 玩家移动得比相机快并离开屏幕 我尝试从地形中移除玩家的大小 但没有任何效果 玩家仍然从屏幕中消失 这是我的代码 pygame init scsizeX 600 scsizeY 4
  • 为什么这个数字会加一? [复制]

    这个问题在这里已经有答案了 console log 10209761399365907 为什么此代码输出一个大一的数字 10209761399365908 而不是 10209761399365907 仅此特定号码才会发生这种情况 例如 使用
  • 在sql中按月份名称分组

    我有一张桌子 看起来像 id Item Quantity Amount created 1 Monitor 10 5000 2013 01 11 2 Keyboard 10 200 2013 02 19 3 Monitor 10 5000
  • 在 Scala 2.8 集合中,为什么在 Iterable 之上添加 Traversable 类型?

    我知道那是Traversable 你只需要有一个foreach方法 Iterable需要一个iterator method Scala 2 8 集合 SID 和 Fighting Bitrot with Types 论文基本上都没有提及为什
  • AMPL:对 cplex 使用“timelimit”选项后的结果是否满足所有约束?

    我有一个虚拟问题 我需要知道它的答案 我正在开发一个需要 AMPL 和 CPLEX 作为求解器的项目 现在这个问题一般需要140秒以上才能解决 当我搜索时 我进入了一个名为timelimit 我有价值地使用了这个选项option cplex
  • 类型错误:无法将 datetime.timedelta 与 float 进行比较

    我正在编写 python 脚本来计算开始日期和结束日期之间的持续时间格式 例如20140520160000 and 20140520170000这样我就能得到时间 我在使用这段代码时遇到了问题 if epgDuration gt 0 10
  • 如何正确使用php fopen()

    我正在学习 php 尝试使用fopen 功能 我正在编码的php文件位于这个目录中 domains xxxxx com au public html phpfile php我为要打开的文件指定什么路径 我正在查看的示例基于电脑上的服务器 其
  • 如何在 C 中对单个数字的所有位进行异或?

    有没有一种简单的方法将单个数字的所有位异或在一起 即 C 中的一元异或 具有以下效果的东西 result 0x45 0 1 0 0 0 1 0 1 1 result 0x33 0 0 1 1 0 0 1 1 0 GCC 为此内置了一个 in
  • 大量在线对话文本的情感分析

    标题说明了一切 我有一个 SQL 数据库 其中充满了在线对话文本 我已经用 Python 完成了这个项目的大部分内容 所以我想使用 Python 的 NLTK 库来完成此操作 除非有一个strong不这样做的理由 数据的组织方式为Threa
  • 何时使用 cudaHostRegister() 和 cudaHostAlloc()? “固定或页面锁定”内存是什么意思? OpenCL 中哪些是等效的?

    我刚刚接触 Nvidia 的 API 有些表达对我来说不太清楚 我想知道是否有人可以帮助我了解何时以及如何以简单的方式使用这些 CUDA 命令 更准确地说 在研究如何通过内核并行执行 例如使用 CUDA 来加速某些应用程序时 在某些时候我面
  • 如何在不使用 NSTimer 的情况下在 iPhone 上循环游戏

    为了将我的游戏干净地移植到 iPhone 我正在尝试制作一个不使用 NSTimer 的游戏循环 我在一些示例代码中注意到 如果使用 NSTimer 您需要在开始时使用类似的内容进行设置 self animationTimer NSTimer
  • 匹配核心数据存储中的近似字符串

    我当前正在编写的核心数据应用程序有一个小问题 我有两种不同的模型 上下文和持久存储 一个用于我的应用程序数据 另一个用于包含与我相关的信息的网站 大多数时候 我将应用程序中的一条记录与其他来源的另一条记录完全匹配 然而 有时 我必须回退到模
  • 异常:底层连接已关闭:无法建立 SSL/TLS 安全通道的信任关系

    对于 firebase 通知代码 WebRequest tRequest WebRequest Create https fcm googleapis com fcm send tRequest Method post tRequest C
  • 使用 Dragula 在应用程序中进行 WebDriver 拖放

    我的公司有一个包含拖放功能的新应用程序 拖放是通过 Dragula 库完成的 我正在尝试自动化此功能 但我没有任何运气 我已经尝试过 WebDriver 的内置 DragAndDrop 方法 我的理解是它通常不能很好地与现代网络技术配合使用
  • 将 Parse.com 1.11.0 添加到 watchOS 2

    在 Parse SDK 更新到 1 11 0 中 它表示支持 watchOS 和 tvOS 我想知道如何使用 Cocoapods 将框架添加到我的 watchOS 应用程序中 pod 文件包含pod Parse 我已经跑了pod updat
  • Flexbox 和 vh 高度单位在 IE11 中不兼容吗?

    我正在尝试使用基于 Flexbox 的布局来为我的页面获取粘性页脚 这在 Chrome 和 Firefox 中效果很好 但在 IE11 中 页脚位于我的主要内容之后 换句话说 主要内容不会被拉伸以填充所有可用空间 body border r
  • 在免费/开源软件中使用 OAuth

    我现在正在阅读一些关于OAuth的介绍材料 有想法在免费软件中使用它 我读到了这个 消费者的秘密永远不能被泄露 向任何人透露 不要包含它 在任何请求中 在任何代码中显示它 样本 包括开源 或 任何方式揭示它 如果我使用 OAuth 为特定网