Как да влезете в Domino сървър с angularjs?

Бих искал да вляза в Domino сървър от уеб страница на angularjs. Самата страница се намира в базата данни, с която искам да се удостоверя, така че не е наистина отдалечена. Това е моят код:

return $http({
                url: 'http://servername/names.nsf?login',
                data: {
                    'username': 'myusername',
                    'password': 'whateverpassword',
                    'redirectto': '/path_to_db.nsf/$icon'
                },
                method: 'POST',
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded',
                    'X-Requested-With': 'XMLHttpRequest'
                }
            })
            .then(loginComplete)
            .catch(loginFailed);

Това, което получавам в замяна, е HTTP отговор 200. Когато направя ръчно влизане, получавам HTTP 302 и бисквитка DomAuthSessId. Така че заявката се държи по различен начин. Когато правя публикацията, има налична бисквитка SessionID, така че трябва да има сесия със сървъра. Някакви идеи какво забравям тук? Благодаря предварително!

Може би трябва да очертая и това, което се опитвам да постигна:

  1. Вземете потребителско име и парола от различен източник
  2. Използвайте ги, за да влезете и да получите сесия със сървъра на Domino, без да бъдете подканени.

В крайна сметка ще използваме SAML за единично влизане, но все още сме на Domino 8.5.3, така че това не е опция за момента.


person Martin Vereecken    schedule 28.10.2016    source източник


Отговори (1)


Мартин, какво ще кажете за ACL, ако страницата Angular е в NSF?

Използвам база данни на Domino с потребителски интерфейс Angular - изобщо няма XPages (с изключение на стартовия панел към \index.html). ACL ви принуждава да влезете при отваряне на NSF, така че когато се отвори страницата Angular, вие сте удостоверени.

Бихте ли могли да направите това, докато надстроите до Domino 9 и използвате SAML?

person Travis Hiscock    schedule 01.11.2016
comment
Ключът е: не искам потребителят да се удостоверява ръчно. Включен е партиден четец, който ми дава потребителското име и оттам нататък искам да се удостоверя автоматично със сървъра. - person Martin Vereecken; 02.11.2016