你好。当使用每用户 API 密钥流程从 Discourse 获取每用户 API 密钥时,是否也可以同时获取该用户的用户名?
1 个赞
我找到了一个变通方法:如果您拥有密钥,那么当您向 Discourse API 进行身份验证调用时,它会在响应头中返回 x-discourse-username: 用户名。感谢 @RGJ 提供的提示。
因此,例如,您可以从 Discourse 获取密钥,然后在 API 调用中使用该密钥访问类似 /site.json 的端点。
然后解析响应头,例如:
....then((response) => {
var headerResponseArray = (JSON.stringify(response.headers)).split(',')
headerResponseArray.forEach((h) => {
if (h.includes('x-discourse-username')) {
var userNameRaw = h.split(':')[1].trim()
}
})
})
如果 Discourse 在返回每个用户的 API 密钥时能直接返回用户名,那将会更快。如果有人知道如何实现这一点,请告诉我。
3 个赞