如何使用 .NET Core 3.1 向 Maximo 7.6 进行身份验证?

How to authenticate to Maximo 7.6 with .NET Core 3.1?

我无法通过身份验证来获取 LtpaToken2 和 JSESSIONID。这是代码:

        string url = "http://maximo.local/maximo/"; //http://maximo.local/maximo/j_security_check?j_username=admin&j_password=admin

        string uri = "oslc/login";
        using (HttpClient client = new HttpClient())
        {

            client.BaseAddress = new Uri(url);
            string username = "admin";
            string password = "admin";

            client.DefaultRequestHeaders.Add($"Authorization", $"Basic {Base64Encode($"{username}:{password}")}");
            
            string paramentros = ""; 

            var response = client.PostAsync(uri, new StringContent(paramentros, Encoding.UTF8, "application/json")).Result;
            

            if (response.IsSuccessStatusCode)
            {
                var jsonString = await response.Content.ReadAsStringAsync();
            }

有什么问题吗?

您的 Maximo 是否存储用户名和密码?

Maximo 中的本机身份验证使用 header 通过其余 api 登录,但它不是您拥有的那样。

所以你想要 header maxauth 然后值是 base64 编码 userid:password.