2017-04-17 12 views
1

私のプロジェクトはwebapiとSPAアプリケーションで構成されています。角度のないadal.jsで認証できません

私はAdal.jsを使用して認証を実装しようとします。 が、これは私のjavascriptのコードです:

$(function() { 
    var endpoints = { 
     "https://demowebapi2017.azurewebsites.net/api/values/7": "WEB API ID" 
    }; 
    window.config = { 
     tenant: '7dda5c2-2fb6-4f82-...', 
     clientId: 'CLIENT ID', 
     endpoints: endpoints 
    }; 
    window.authContext = new AuthenticationContext(config); 


    $("#login").click(function() { 
     window.authContext.login(); 
    }); 

    $("#logout").click(function() { 
     window.authContext.logOut(); 
    }); 

    $("#clickMe").click(function() { 
     var user = window.authContext.getCachedUser(); 
     console.log(user); 

     window.authContext.acquireToken('https://demowebapi2017.azurewebsites.net', function (error, token) { 
      console.log(error); 
      console.log(token); 
     } 
      ); 
    }); 
}); 

ログインが正常に動作し、私は自分の資格情報を入力するためのログインIFRAMEを見ることができます。 「clickMe」をクリックすると、「ユーザーログインが必要です。」とユーザーがnullです。

AngularとAdal-angular.jsを使ってすべてうまく動作するので、Azureの設定はすべて問題ありません。

何が起こったかについて誰かが考えていますか?

答えて

1

ログインした後で、ユーザーはハッシュからid_tokenを解析してユーザーを初期化する必要があります。参照用のデモコードは次のとおりです。

$(function() { 
    var endpoints = { 
     "https://graph.windows.net": "https://graph.windows.net" 
}; 
window.config = { 
    tenant: 'xxxx.onmicrosoft.com', 
    clientId: 'aac92cf9-32ab-4004-aeab-1046389dff79', 
    endpoints: endpoints 
}; 
window.authContext = new AuthenticationContext(config); 


$("#login").click(function() { 
    window.authContext.login(); 
}); 

$("#logout").click(function() { 
    window.authContext.logOut(); 
}); 

$("#clickMe").click(function() { 
    var user = window.authContext.getCachedUser(); 
    console.log(user); 

    window.authContext.acquireToken('https://graph.windows.net', function (error, token) { 
     console.log(error); 
     console.log(token); 
    } 
     ); 
}); 

function init(){ 
    if(window.location.hash!="") 
     window.authContext.handleWindowCallback(window.location.hash); 
} 

init(); 
}); 
関連する問題