2016-11-03 7 views
0

私はAngular 2で書かれたAzure ADアプリケーションを持っています。私はADにログインしてアクセストークンを取得できるので、アプリケーションは正常です。しかし、問題は、私がログインするたびに同意を求めることになっていることです。ここではこれがそうユーザーは毎回同意するように求められます。Azure ADアプリケーション

enter image description here

のように同意dialoagとAzureのログイン画面に私を送って要求が

 "https://login.microsoftonline.com/" + this.tenantId + "/oauth2/authorize?" + 
     "response_type=id_token+token&" + 
     "response_mode=fragment&" + 
     "client_id=" + this.clientId + "&" + 
     "redirect_uri=" + encodeURIComponent(window.location.href) + "/&" + 
     "scope=openid&" + 
     "state=" + this.state + "&" + 
     "resource=" + encodeURIComponent(this.appuri) + "&" + 
     "nonce=" + this.nonce; 

のように見えるものであるIクリック受け入れ、私が行きたい場所に戻って監督していますすべてが素晴らしいです。再度ログインすると、同じプロンプトが表示されます。ユーザーの同意を得るためにAzure AD側で取るべきステップは何ですか? マニフェストに何かありますか?

+0

[旧Azureポータル](https://manage.windowsazure.com/)または[V2.0エンドポイント](https://apps.dev.microsoft.com/Disambiguation?)からアプリケーションをどこに登録しましたか? ru = https%3a%2f%2fapps.dev.microsoft.com%2f)?そしてあなたはマルチテナントアプリを開発していましたか? –

+0

ADのアプリ "私の会社が使用する"フィールドにチェックを入れてください>アプリケーション。 このアプリケーションが、サインインしたユーザーが属するADに登録された場合、同意ページは再び表示されません。 あなたのアプリケーションは、同意を認める際にADに登録されていません。 –

+0

@ fei-xue-msft ADエリアのportal.azure.comにアプリを登録しました。はい、それは多数存在しますが、私はこれまでのところ1つの会社にのみ同意しています、actalluは管理者である同じアカウントです。 –

答えて

2

表示されている同意画面は、ログインURLのクエリ文字列として「prompt = admin_consent」を渡した場合にのみ表示される「管理者同意画面」です。

このクエリ文字列を渡すと、毎回アプリケーションに同意するよう求められます。代わりに、このクエリ文字列を一度だけ(ユーザーがアプリケーションを初めて使用するときに)渡すことを確認し、同意したら、「プロンプト」クエリ文字列を渡さないようにします。

これがあなたの問題を解決することを願っています!

関連する問題