Azure 应用程序的访问令牌有 6k+ 个字符,由于长度限制,无法在 SQL Server 中保存加密

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

为了从应用程序验证邮件服务器,我们使用 OAuth 身份验证。应用程序使用 Java 邮件 API 进行 SMTP 邮件通信。我们在 Azure 中创建一个应用程序,并使用其客户端 ID 和客户端密钥来生成访问令牌和刷新令牌。我们在邮件服务器中使用它通过 OAuth 身份验证通过 smtp 发送预定邮件。

生成的访问令牌有 6000 个字符,当我们将其加密并保存在 SQL Server 数据库中的

varchar
列中时,加密的字符长度超过 8000,因此我们无法保存访问令牌并使用它们。

有没有办法控制访问令牌长度?最大长度可能是多少?我们如何加密并保存这么长的令牌到数据库中?

sql-server access-token varchar microsoft-oauth microsoft-azure-documentdb
1个回答
0
投票

如果您无法减少访问令牌的长度,那么您可以将加密的访问令牌存储在服务器上的文件中,生成唯一的文件名,我会想到

<user id>_<some hash>
的格式,并将该文件名存储在数据库中。因此,您加载加密访问令牌的位置而不是值本身,并且您始终可以从文件加载它。那么你就不必面对这个限制了。

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