如何使用证书直接从 SQL Server 请求承载令牌

问题描述 投票:0回答:1

我的任务是编写一个 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 rest authentication sql-server-2016 bearer-token
1个回答
0
投票

这个非常不推荐。您应该在 SQL Server 和其他环境之间拥有一个带有应用程序代码的应用程序或脚本,而不是尝试直接在 SQL 中执行此操作。

尽管如此,它应该是可能的。您需要的是发送适当的 HTTP 请求来获取令牌,这可以使用此处的信息来完成:

如何从 SQL Server 发出 HTTP 请求?

该链接正在谈论连接到 Tomcat,而不是 REST API,但使用 HTTP 的基本原理是相同的。

再次强调:不推荐

© www.soinside.com 2019 - 2024. All rights reserved.