在哪里存储OAuth 2.0客户端ID和密码?

时间:2018-03-22 作者:jasonp

我正在我的一个WordPress站点中构建一些与第三方API集成的功能,该API使用OAuth 2.0。

每次我需要一个新的访问令牌时,我都会使用客户端ID和密码,因为访问令牌在24小时后过期,所以每天至少会使用一次。(生成新的访问令牌也会生成新的刷新令牌,并且先前的刷新令牌将无效。)我将令牌与expires\\u一起存储在数据库的options表中。

我应该在哪里存储我的客户ID和机密?WordPress中有没有一个典型的地方可以存储这样的东西?现在我只是在wp配置中定义了它们。php。虽然我认为这应该可以很好地工作,但这种方法是否有任何潜在的缺点,特别是在客户机密的安全方面?

1 个回复
最合适的回答,由SO网友:Mark Kaplun 整理而成

这取决于您正在开发的内容。如果它是一个插件,你必须将这些设置存储在选项中,因为网站所有者应该做的最后一件事就是修改他们的配置文件。

如果它是您自己的站点,如果您不希望管理员可以配置它,只需将其设置为在代码中声明的常量即可。把它放在一些不明显的地方没有好处,在检查代码时很难找到。

至于安全性,从理论上讲,将其包含在代码中更安全,因为您不必担心有人入侵数据库,但在实践中,如果有人可以进入您的数据库,您就已经厌倦了(他将添加自己的管理用户…),这几乎没有什么区别。(我能想到的唯一区别是得到了DB的转储,但这种黑客仍然很难,而且可能非常罕见)

结束

相关推荐

WordPress重写API调用未创建新规则

我知道关于重写规则不能正常工作的查询非常常见,但在我的情况下,实际上我无法首先创建规则。我需要创建一个插件,将加载到许多网站,并为每个网站提供一些常见的功能。它将提供的功能之一是创建这些站点通用的重写规则。此时,我将测试示例缩减为以下内容:运行apache 2.4的Debian服务器。x、 php 5.6.3x,wordpress 4.9.4,使用mysql数据库。wordpress安装是源代码的一个干净的解压缩副本,没有启用插件。它刚刚完成了初始设置。apache vhost被设置为允许所有版本,但这里