我的任务是编写一个 SQL Server 存储过程,以使用他们的 API 从供应商站点请求不记名令牌。
供应商网站向我颁发了两个类型为
.cer
和 .key
的文件。当我将这些文件导入 Postman 时,我可以请求不记名令牌,并在包含两个附加值 client_id
和 client_secret
后收到适当的响应。
我正在寻找有关如何从 SQL Server 执行相同操作的文档。几乎没有关于直接使用 SQL Server 存储过程的安全证书的帖子。作者已经有了一个不记名令牌,可以在我找到的所有帖子的代码中使用,并且假设您也这样做。这让我想知道这是否可以通过 SQL Server 存储过程来完成?
我将这两个文件组合成一个
.pfx
文件,并将其导入到 SQL Server 实例所在的 Windows Server 证书存储中。它当前位于个人商店中(如果需要,可以将其移动到其他商店)。
我的做法是错的吗?我总是可以使用 Postman 获取不记名令牌,然后使用 xp_cmdshell 消费到 SQL Server 中。看起来这应该比那更容易。
我可以使用 Postman 成功获取不记名令牌。我无法在任何地方找到有关如何在 SQL Server 中执行相同操作的说明。
在 Windows Server 2016 上运行 SQL Server 2016。供应商是薪资公司 ADP。
这个非常不推荐。您应该在 SQL Server 和其他环境之间拥有一个带有应用程序代码的应用程序或脚本,而不是尝试直接在 SQL 中执行此操作。
尽管如此,它应该是可能的。您需要的是发送适当的 HTTP 请求来获取令牌,这可以使用此处的信息来完成:
该链接正在谈论连接到 Tomcat,而不是 REST API,但使用 HTTP 的基本原理是相同的。
再次强调:不推荐。