2016-09-27 5 views
0

paramsは私の状態を返すされていません。 https://auth0.com/docs/tutorials/building-multi-tenant-saas-applications-with-azure-active-directoryAuth0私はAzureのADにマルチテナント型のSaaSの接続についてこのチュートリアルを以下のよ、auth0を使用して

しかし、私の場合は少し異なるので、ユーザーがログインするときにいくつかのパラメータを渡す必要があります。他の接続では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...' 
}); 
関連する問題