小编JDT*_*JDT的帖子

如何在数据库中存储 OAuth 2 访问令牌?

我在这方面看到了很多线索,但没有具体说明如何做到这一点。

我目前正在让用户通过 OAuth2 向第 3 方进行身份验证,作为回报,我获得了访问令牌。

我想长期存储此访问令牌,因此我正在使用数据库来执行此操作。

我的问题是如何处理这个数据库条目以确保安全。

我无法对它进行哈希处理(就像密码一样),因为我需要能够阅读并使用原件代表用户呼叫第 3 方。

因此,我只能保持原样,找到一种 2 向加密方法(是否有最佳/推荐的 npm 包?)或我不知道的其他解决方案。

我对访问令牌的安全性没有经验 - 所以不知道采取的最佳途径,并希望提供任何见解。

谢谢

database node.js access-token

9
推荐指数
1
解决办法
7381
查看次数

如何 for 循环集合中的所有文档 - Azure CosmosDB - Nodejs

我已经查看了有关此问题的一些答案/问题,但尚未找到解决方案。

我有一个包含文档(简化)的集合,如下所示:

{
    "id": 123
    "stuff": "abc"
    "array":[
        {
        "id2":456
        "properties": [
                {
                    "id3": 789
                    "important": true
                }
            ]
        }
    ]
} 
Run Code Online (Sandbox Code Playgroud)

我想检查for我的集合中的每个文档,for每个array对象arrayfor每个对象properties,如果有的important: true话。然后返回:

"id": 123
"id2": 456
"id3": 789
Run Code Online (Sandbox Code Playgroud)

我尝试过使用:

client.queryDocuments(self.collection._self, querySpec).toArray(function(err, results) {
    if (err) {
        callback(err);
    } else {
        callback(null, results[0]);
    }
    });
Run Code Online (Sandbox Code Playgroud)

但问题是数组有最大字符数限制。如果我的收藏有数百万份文档,这可能会超出。(Javascript增加最大数组大小

或者,我误解了上面的问题吗?它是在谈论数组中的对象数量(其中每个对象可以具有无限的对象字符长度吗?)

因此,我正在寻找一个for loop类似的解决方案,其中返回每个文档,我进行分析,然后移动到下一个/并行执行它们。

任何见解将不胜感激。

arrays for-loop azure node.js azure-cosmosdb

5
推荐指数
1
解决办法
4162
查看次数

使用SQL检查CosmosDB JSON中是否存在字段-nodeJS

我正在使用Azure CosmosDB存储文档(JSON)。

我试图查询包含该字段的所有文档,"abc"而不返回不包含该字段的文档"abc"。例如,返回下面的第一个对象,而不是第二个

{
    "abc": "123"
}

{
    "jkl": "098"
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下代码:

client.queryDocuments(
collectionUrl,
`SELECT r.id, r.authToken.instagram,r.userName FROM root r WHERE r.abc`
)
Run Code Online (Sandbox Code Playgroud)

我假设上面会检查是否abc存在类似于if (r.abc) {}

我尝试使用 WHERE r.abc IS NOT NULL

提前致谢

sql json azure azure-cosmosdb

4
推荐指数
3
解决办法
4628
查看次数

搜索机制包括整个单词

我创建了一个搜索机制,搜索字符串数组以获得精确的字符串匹配,但我希望它更直观一些.

我也可以让它在字符串中搜索一个字符串(例如chickengrilled chicken- 但问题是这允许用户键入kenill返回grilled chicken.

如果我输入chicken或者我希望它返回grilled.

有没有人对如何拥有更直观的搜索机制有任何建议?

编辑:

键入1个单词时,下面的正确答案有效,它会搜索字符串中的所有单个单词.但是,当你用2个单词搜索时,我意识到它失败了(因为它只搜索每个字符串单词).

我通过添加|| search == stringif包括不仅单独的单词匹配而是整个字符串匹配来解决这个问题.

但是我仍然遇到问题,要么搜索:

整个字符串匹配或匹配单个单词.

这意味着当search = green cup和时它失败了string = big green cup.有没有办法通过剪切集合来搜索内部?也许类似于:

string.split(' ')但也要包括big green, green cup阵列呢?

javascript arrays string search node.js

-1
推荐指数
1
解决办法
75
查看次数