slashDB通过POST请求和使用APIkey访问数据库会产生403错误
关于HTTP POST方法的安全性问题: 我创建了一个名为“MyAPP”的用户: 然后我想发布一个POST以执行SQL传递 例如: http:///query/InsertBestScore/Score/99/ScreenName/GollyGolly.xml?apikey=dzn8k7hj2sdgddlvymfmefh1k2ddjl05 我构建了一个查询并将其命名为“InsertBestScore”: 插入游戏。排行榜 (屏幕名称、分数) 价值观 (:屏幕名称,:分数) 如果我使用POST方法通过POSTMAN运行此操作: ... 然后我就可以访问403:slashDB通过POST请求和使用APIkey访问数据库会产生403错误,api,slashdb,Api,Slashdb,关于HTTP POST方法的安全性问题: 我创建了一个名为“MyAPP”的用户: 然后我想发布一个POST以执行SQL传递 例如: http:///query/InsertBestScore/Score/99/ScreenName/GollyGolly.xml?apikey=dzn8k7hj2sdgddlvymfmefh1k2ddjl05 我构建了一个查询并将其命名为“InsertBestScore”: 插入游戏。排行榜 (屏幕名称、分数) 价值观 (:屏幕名称,:分数) 如果我使用POST方
<?xml version="1.0" encoding="utf-8"?>
<SlashDB>
<http_code>403</http_code>
<description>Access was denied to this resource. Please log in with your username/password or resend your request with a valid API key.</description>
<url_template>/query/InsertBestScore/Score/{Score}/ScreenName/{ScreenName}.xml</url_template>
</SlashDB>
。。。然而,在上面的例子中,我看不到appid在哪里发挥作用。
你能告诉我如何调用SlashDB端点并传递一个APIkey并确保用户id被称为MyAPP吗
总之,文件中提到:
•另一个应用程序使用API密钥进行身份验证,该密钥随每个请求一起发送。该应用程序被识别为SlashDB用户App2,它使用数据库登录db_admin。该应用程序可以有效地选择、更新、插入和删除数据
所以我想实际做的就是,做那个项目符号中的事情:将自己标识为用户(而不是App2,我是用户MyAPP),然后使用分配给访问“游戏”数据库的dbuser和dbpass
想法?好的,这里有两个问题:
此功能背后的原因是为了方便API管理平台,这有助于密钥管理,特别是当API将向第三方开发人员公开时。确保您已授予用户MyAPP执行查询的权限。 为此:
- 以管理员身份登录
- 转到配置->查询
- 打开查询定义
- 更新字段
。它接受逗号分隔的用户ID执行
<?xml version="1.0" encoding="utf-8"?>
<SlashDB>
<http_code>403</http_code>
<description>Access was denied to this resource. Please log in with your username/password or resend your request with a valid API key.</description>
<url_template>/query/InsertBestScore/Score/{Score}/ScreenName/{ScreenName}.xml</url_template>
</SlashDB>
• appid - identifies certain application
• apikey - secret for the application
Request with API key in header - Access granted