Проблема с аутентификацией от ActionScript до единого входа на сайт - PullRequest
1 голос
/ 10 апреля 2020

Я переношу приложение Adobe Flex из веб-версии (запущенной в FL sh Player) в приложение Adobe Air для настольных ПК. Мое приложение взаимодействует с «службой blazeDS» через удаленный объект (способ, соединяющий Adobe Flex с java Backend) по URL: http://myhost.example.com/mycontext/messagebroker/amf. Приведенный выше URL защищен CA site minder, если пользователь не вошел в систему, система перенаправляет на страницу входа в siteminder по адресу: http://myhost.example.com/sso/*...

Я попытался отправить почтовый запрос в службу siteMinder через post man для успешного входа в систему (укажите имя пользователя, пароль, пин-код и т. д. c ..) Затем siteminder ответил с файлами cookie.

Моя задача - попытаться отправить http-запрос через скрипт действия для входа в систему из моего эфирного приложения.

Я написал простое эфирное приложение, отправив запрос при инициализации следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()">
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import flash.net.*;
            function init(){
                var req : URLRequest= new URLRequest("http://myhost.example.com/sso/");//The Siteminder service URL.

                var formData : URLVariables = new URLVariables("email=test&uname=1002102571&pass=test&gender=male"); //Post data
                req.data = formData;
                req.contentType = "application/x-www-form-urlencoded";
                req.method = "POST";
                var urlLoader : URLLoader = new URLLoader(req);
                urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onResponse);
                urlLoader.addEventListener(Event.COMPLETE, onComplete);
                urlLoader.load(req);
            }
            function onResponse(event){
                Alert.show("aaa" + event.target);
            }
            function onComplete(event){
                Alert.show("bbb");
            }
            function response(event){
                Alert.show("â0");
            }
            function fault(event){
                Alert.show("nb");
            }
        ]]>
    </mx:Script>
</mx:WindowedApplication>

Затем также cookie-файлы ответов Siteminder.

Но когда я интегрирую свой код в реальную систему, система ответов Site minder не может войти в систему. Я не знаю, чем отличаются два приложения. Пожалуйста, поделитесь своим советом.

...