RT C Авторизация всегда не выполняется - PullRequest
2 голосов
/ 09 апреля 2020

(с использованием C#) Я пытаюсь аутентифицироваться, но всегда возвращается неудачно. Я знаю, что мое имя пользователя и пароль верны. Мы можем использовать OSL C 1.0, если это имеет значение. Я не уверен, но я вижу это пару раз в файле services. xml. веб-сайт , который я понял, использовал 3.0. Может есть разница? Есть идеи, что я делаю не так?

            Debug.Log("Authentication Required");
            // tried with just j_security_check as well (without "authenticated") as he seems to do both on the site
            HttpWebRequest _formPost = (HttpWebRequest)WebRequest.Create(localhost + "authenticated/j_security_check");
            _formPost.Method = "POST";
            _formPost.Timeout = 30000;
            _formPost.CookieContainer = request.CookieContainer;
            _formPost.Accept = "text/xml";
            _formPost.ContentType = "application/x-www-form-urlencoded";

            Byte[] _outBuffer = Encoding.UTF8.GetBytes("j_username=coolcat&j_password=bestPassEvar"); //store in byte buffer
            _formPost.ContentLength = _outBuffer.Length;
            Stream _str = _formPost.GetRequestStream();
            _str.Write(_outBuffer, 0, _outBuffer.Length); //update form
            _str.Close();

            //FormBasedAuth Step2:submit the login form and get the response from the server
            HttpWebResponse _formResponse = (HttpWebResponse)_formPost.GetResponse();

            string _rtcAuthHeader = _formResponse.Headers["X-com-ibm-team-repository-web-auth-msg"];
            //check if authentication has failed
            if ((_rtcAuthHeader != null) && _rtcAuthHeader.Equals("authfailed"))
            {
                Debug.Log("Authentication Failed");
                return;
            }

Ответы [ 2 ]

2 голосов
/ 09 апреля 2020

Тьфу. Я такой дурачок. Имя пользователя / пароль были правильными, но я дважды их кодировал перед использованием! (не видно в приведенном выше коде, поскольку я жестко запрограммировал его по очевидным причинам безопасности).

1 голос
/ 09 апреля 2020

Вы можете найти некоторый пример кода, который взаимодействует с продуктами на основе Jazz с использованием OSL C, в этом репозитории github https://github.com/OSLC/lyo-samples.

Я нашел этот пример кода, который особенно касается с проверкой подлинности формы. https://github.com/OSLC/lyo-samples/blob/master/oslc4j-client-samples/src/main/java/org/eclipse/lyo/oslc4j/client/samples/ERMSample.java

Несколько программ в этой же папке пытаются подключиться к различным решениям Jazz.

...