2016-10-26 13 views
1

APIアプリケーションとしてAzureでホストされているJava APIバックエンドを実装しました。 Active Directoryによる認証を有効にしました。 apiアプリのCORS設定では、すべてのソースからの呼び出しにアスタリスクをURLとして許可するように設定しました。Active Directory認証を使用してJavaScriptでAzure APIアプリケーションを呼び出す

今、私はローカルのAngularJSアプリからAPIにアクセスしたいと思っています。私の角度のコードは次のようになります。

angular.module('demo', []) 
    .controller('GetDataController', function($scope, $http) { 
     $scope.login = function(user){ 
      console.log("user: " + user, user); 

      $http.defaults.useXDomain = true; 
      delete $http.defaults.headers.common['X-Requested-With']; 

      $http.get('http://<myapiapp>.azurewebsites.net/api/contacts'). 
      then(function(response) { 
       $scope.greeting = response.data; 
       console.log("$scope.greeting: " + $scope.greeting, $scope.greeting); 
      }); 
     } 
    }); 

しかし、私はまだ、コンソール内で次のエラーが表示されます。

XMLHttpRequest cannot load https://login.windows.net/ 
12141bed-36f0-4fc6-b70c-43483f616eb7/oauth2/autho… 
%2Fapi%2Fcontacts%23&nonce=ea6b31321cda45d6a4e881fbd0062974_20161026094547. 
Redirect from 'https://login.windows.net/12141bed-36f0-4fc6-b70c-43483f616eb7/ 
oauth2/autho…%2Fapi%2Fcontacts%23& 
nonce=ea6b31321cda45d6a4e881fbd0062974_20161026094547' to 
'https://login.microsoftonline.com/12141bed-36f0-4fc6-b70c-43483f616eb7/ 
oaut…%2Fapi%2Fcontacts%23&nonce=ea6b31321cda45d6a4e881fbd0062974_20161026094547' 
has been blocked by CORS policy: No 'Access-Control-Allow-Origin' 
header is present on the requested resource. 
Origin 'null' is therefore not allowed access. 

AngularJSコードからのアクセスを取得するには、どのように?

これは私の投稿hereに関連しており、ここで私はカールコールでアクセスしようとしています。

答えて

0

Azure ADによって保護されているWebアプリケーションに直接HTTPリクエストを生成しているようです。このシナリオでは、angularJsクライアントにADAL for jsを実装しようとすることができます。 adalを利用して認証トークンを取得し、WebアプリケーションをAngularで呼び出すと、HTTPリクエストに認証ヘッダーが追加されます。

さらに詳しいことがありましたら、お気軽にお知らせください。

+0

アプリケーションコードを変更することなくこれを行う方法はありますか?私がリソースを要求すると、紺碧のログインインターセプタはCORSを尊重しておらず、リクエストがすでに認証されているという事実に関係していないようです。私は不正なアクセスから保護するため、私の開発環境でAzure AD認証をオンにしています。私はdevとprodの間でコードベースを同じにしたい。 –

+0

いいえ、認定校の詳細については、https://docs.microsoft.com/en-us/azure/active-directory/active-directory-authentication-scenarios#single-page-application-spaを参照してください。 AADに対する流れ。 –

関連する問題