c# - 如何在 Wordpress JWT Auth API 的正文中传递用户名和密码
问题描述
我安装了 Wordpress 和 JWT Auth,我想验证用户名和密码。
我只是想使用我的 C# 代码通过 JWT 令牌 API 传递用户名和密码。
这是在 Postman 中工作的 API 链接:
https://xxxx/wp-json/jwt-auth/v1/token
我只能使用键值“用户名”和“密码”在“正文”“表单数据”字段中传递用户名和密码,因为参数不适用于 JWTAuth。
如何使用 C# 将这些值作为“Body”“Form-Data”值传递?
这是我的代码:
string JWTAPI = "https://xxxx/wp-json/jwt-auth/v1/token";
var client = new HttpClient();
var uri = JWTAPI;
var jsonContent = "{ \"username\": \"test\", \"password\": \"test\"}";
string json = JsonConvert.SerializeObject(jsonContent);
StringContent content = new StringContent(json, Encoding.UTF8, "application/json");
var response_status = await client.PostAsync(uri, content);
var response_result = await response_status.Content.ReadAsStringAsync();
解决方案
TokenRequest Token;
public async Task TakeToken()
{
client = new HttpClient();
var values = new Dictionary<string, string>
{
{ "username", "root" },
{ "password", "1111" }
};
var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync($"{BaseUrl}/wp-json/jwt-auth/v1/token", content);
var responseString = await response.Content.ReadAsStringAsync();
Token = Newtonsoft.Json.JsonConvert.DeserializeObject<TokenRequest>(responseString);
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + Token.token);
}
public class TokenRequest
{
public string token;
public string user_email;
public string user_nicename;
public string user_display_name;
}
推荐阅读
- swift - 使用 List<> 值时获取领域值
- python - 如何比较字符串python中的特定项目
- sql - 比较两张表。想要回旗
- python - NLP // 使用“基于计数”的模型创建单词的向量表示
- javascript - 如何获取 td 的数据并将其转换为变量 php?
- rest - 微服务:身份验证的最佳实践
- database - 全部和部分参与 ERD
- javascript - JS Regex:如何将重复模式捕获到不同的数组元素中?
- c# - 为什么我的 GUI 健康条从两个方向而不是仅从 1 个方向流失?
- python-3.x - PYTHON - 如何检查我是否正确调用了这个 API?