2016-09-27 4 views
0

Использование auth0, я отслеживаю этот учебник о подключении многопользовательских к Azure SaaS AD: https://auth0.com/docs/tutorials/building-multi-tenant-saas-applications-with-azure-active-directoryAuth0 подключения к Azure AD не возвращает мое состояние PARAMS

Но, так как мой случай немного отличается, Мне нужно, чтобы он передавал некоторые параметры при входе пользователя в систему. Для других подключений я могу установить options.authParams.state = "...", и это состояние отправляется на мой callbackURL.

Но, используя соединение Azure AD, моя переменная состояния неверна. Когда я получаю обратный вызов, он пуст.

я в том числе новая кнопка Azure AD в соответствии с учебника:

lock.once('signup ready', function() { 
        var link = $('<div class="a0-zocial a0-icon a0-waad" href="#">' 
         + '<span>Azure AD</span></div>'); 
        link.on('click', function() { 
         lock.getClient().login({ 
          connection: 'seedtec-onmicrosoft-com' 
         }); 
        }); 

        var iconList = $(this.$container).find('.a0-iconlist'); 
        iconList.append(link); 
       }); 

И посылает свое состояние через опции:

var options = { 
        container: 'root' 
        , callbackURL: 'http://.../LoginCallback.ashx' 
        , responseType: 'code' 
        , dict: 'pt' 
        , socialBigButtons: false 
        , authParams: { 
         state: state 
         , scope: 'openid profile' 
         , company_id: $scope.companyId 
        } 
        , mode: mode 
        , callbackOnLocationHash: true 
       }; 



lock.show(options); 

Вы знаете, что плохого в том, что?

Спасибо!

PS: Я использую угловые библиотеки для auth0.

ответ

0

Я действительно нашел решение этого. Это было довольно просто, но это не хорошо документировано auth0.

При вызове lock.getClient().login(...) я должен был пройти authparams снова, как это:

lock.getClient().login({ 
    connection: 'myconn-onmicrosoft-com' 
    , scope: 'openid profile' 
    , company_id: 'blah...' 
    , state: 'blah blah...' 
});