如何在主体中为Wordpress JWT Auth API传递用户名和密码

问题描述

我已经安装了wordpress和JWT Auth,我想验证用户名密码

我只是想使用C#代码通过JWT令牌API传递用户名密码

这是在邮递员中运行的API链接

https://xxxx/wp-json/jwt-auth/v1/token

我只能在键值为“ username”和“ password”的“正文”“ Form-Data”字段中传递用户名密码,因为参数不适用于JWTAuth。

如何使用C#将这些值作为“正文”“表单数据”值传递?

这是我的代码

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;
        }
,

没关系。我知道了!

只需删除:

string json = JsonConvert.SerializeObject(jsonContent);