繁体   English   中英

如何在 Wordpress JWT Auth API 的正文中传递用户名和密码

[英]How To Pass Username and Password in the Body for 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;
        }

没关系。 我让它工作!

只需要删除:

string json = JsonConvert.SerializeObject(jsonContent);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM