我正在我的一个WordPress站点中构建一些与第三方API集成的功能,该API使用OAuth 2.0。
每次我需要一个新的访问令牌时,我都会使用客户端ID和密码,因为访问令牌在24小时后过期,所以每天至少会使用一次。(生成新的访问令牌也会生成新的刷新令牌,并且先前的刷新令牌将无效。)我将令牌与expires\\u一起存储在数据库的options表中。
我应该在哪里存储我的客户ID和机密?WordPress中有没有一个典型的地方可以存储这样的东西?现在我只是在wp配置中定义了它们。php。虽然我认为这应该可以很好地工作,但这种方法是否有任何潜在的缺点,特别是在客户机密的安全方面?
最合适的回答,由SO网友:Mark Kaplun 整理而成
这取决于您正在开发的内容。如果它是一个插件,你必须将这些设置存储在选项中,因为网站所有者应该做的最后一件事就是修改他们的配置文件。
如果它是您自己的站点,如果您不希望管理员可以配置它,只需将其设置为在代码中声明的常量即可。把它放在一些不明显的地方没有好处,在检查代码时很难找到。
至于安全性,从理论上讲,将其包含在代码中更安全,因为您不必担心有人入侵数据库,但在实践中,如果有人可以进入您的数据库,您就已经厌倦了(他将添加自己的管理用户…),这几乎没有什么区别。(我能想到的唯一区别是得到了DB的转储,但这种黑客仍然很难,而且可能非常罕见)