問題タブ [adal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - RBAC 用に Azure AD からユーザー グループ メンバーシップを取得する
WPF (ネイティブ クライアント) でテスト アプリケーションを作成しました。このクライアントは ADAL ライブラリを介して Azure で認証を行っており、ログイン後にトークンを取得することに成功しています。私がやりたいことは、ユーザーがメンバーであるグループのリストを取得して、このグループをデータにアクセスするためのアクセス制御として使用できるようにすることです。
ここのところ:
ネイティブ クライアントを Azure で正常にセットアップし、その "Windows Azure Active Directory" 委任アクセス許可を "ディレクトリ データの読み取り" および "サインオンの有効化とユーザー プロファイルの読み取り" に設定しました。
ログイン後にトークンを取得する
- ユーザーのプロフィール情報を読む
- ユーザーとグループのリストを作成し、それらを Azure AD のそれぞれのグループに追加しました。
次の設定で Azure GRAPH をクエリしようとすると
GRAPH クエリはhttp://msdn.microsoft.com/en-us/library/azure/jj126255.aspxから取得されますが 、不正なエラーが発生します。私がログインしているユーザーは、Azure の「グローバル管理者」です。完全なエラー メッセージは次のとおりです。
私の主な目標は、WPF クライアントを使用して、AD のユーザーのメンバーシップに基づいてデータにアクセスするアプリケーションをセットアップすることです。
adal - その後、/adfs/oauth2/authorize/wia? にリダイレクトします。
ADFSv3 で authz コード許可フローを実行しています。
AcquireToken を実行すると、通常の html Web ブラウザー認証プロンプトが開始されますが、何らかの理由で/adfs/oauth2/authorize/wia?
、Windows 統合ログイン ボックスを表示する次のエンドポイントにリダイレクトされます。
質問:
これは、ADFS が提供する ntml/sso のようなものですか?
最初の HTML Web ブラウザーを取り除き、代わりに Windows ログイン ボックスを直接表示することは可能ですか? 2 つの認証プロンプト (1 つは無効、1 つは有効) を持つ分割パーソナリティのように見えます。
azure - ADAL.js を使用して、Web API と Azure AD への安全な CORS 呼び出しを有効にする方法
CORS 対応の Web API を呼び出す必要があるシングル ページ アプリケーションがあります。どちらのアプリケーションも AAD によって保護されています。https://github.com/matvelloso/AngularJSCORSで Mat Velloso によって作成されたサンプルを見つけました
readme ファイルの手順に従いましたが、手順 2 で「作成したクライアント アプリケーションのクラス ID を使用することを忘れないでください」ということだけがわかりませんでした。新しく生成された GUID を使用しました。しかし、私は得続けています: XMLHttpRequest cannot load http://localhost:63918/api/values. The request was redirected to 'https://login.windows.net/devazureadnrw.onmicrosoft.com/wsfed?wa=wsignin1.0…3d0%26id%3dpassive%26ru%3d%252fapi%252fvalues&wct=2015-01-09T11%3a37%3a19Z', which is disallowed for cross-origin requests that require preflight.
次は Chrome コンソールです。
CORS プリフライト リクエストは、ステータス コード 200 で行われました。
これは私が見つけた唯一のサンプルであるため、行き詰まっています。何か提案はありますか?どうもありがとう。
javascript - 認証をトリガーしないAdal.js
アプリケーションに adal.js を統合しようとしています。以下は私のコードです。認証がトリガーされない理由を教えてください。
]);
そして、私のページのURLはこれをリンクするものです。
http://localhost:8081/test-ui/#/dashboard
これは Azure ログイン ページに移動するはずですが、移動しません。
angularjs - Angularjs が Azure Active Directory で認証されない
認証に Azure Active Directory を使用する angularjs Web アプリケーションがあります。アプリケーションが使用する Web Api は、エラーなしで認証されます。
クライアント側の認証には、adal.js と adal-angular.js を使用しています。アプリの任意のページにアクセスしようとすると、認証が失敗し、コンソールに次のメッセージが出力されます
このチュートリアルに従いました。
何が起こっているのか、またはこれをどのようにデバッグできますか?
angularjs - CORS プリフライト要求は、Azure がホストする Web API で 302 リダイレクトで応答します
シナリオ:
Windows Azure で別々にホストされている 2 つの ASP.NET Web アプリケーションがあり、両方が同じ Azure Active Directory テナントに関連付けられています。
クライアントで Azure AD 認証を処理するための AngularJS SPA フロントエンドとadal.jsライブラリを備えた MVC アプリ。
サーバーで Azure AD 認証を処理するための Microsoft OWIN ミドルウェアを使用した Web API。
問題:
angular がクライアント アプリをブートストラップすると、適切な Identity Authority への oauth リダイレクトを通過した後にページが正しく読み込まれ、adal.js ライブラリがアプリケーションごとに異なるトークンを正しく取得して保存します ( Chrome 開発ツール)。ただし、クライアント アプリが API 内のデータにアクセスまたは更新しようとすると、CORS プリフライト リクエストは ID 機関への 302 リダイレクトで応答し、コンソールに次のエラーが発生します。
XMLHttpRequest はhttps://webapi.azurewebsites.net/api/itemsを読み込めません。リクエストは「https://login.windows.net/ {authority-guid}/oauth2/authorize?response_type=id_token&redirect_uri=....etc..etc..」にリダイレクトされましたが、これはクロスオリジン リクエストでは許可されていません。プリフライトが必要です。
ヘッダーの例 (匿名化):
私がやったこと/試したこと
- ここおよび他の場所で説明されているように、Azure AD テナントが OAuth2 の暗黙的なフローを許可していることを確認します。
- API がアクセス許可を公開し、MVC/SPAがそれらの公開された許可を使用してアクセスを登録することを確認しました。
- API の web.config に OPTIONS 動詞ハンドラーを明示的に追加しました (以下を参照)。
- API サーバーで CORS を有効にするさまざまな組み合わせ、OWIN 自体、および EnableCorsAttribute (以下を参照) を使用しました。
質問
Azure AD テナントに関連付けられた Web API を CORS プリフライト要求でリダイレクトしないようにする方法はありますか? adal.js ライブラリや OWIN スタートアップ コード (下記参照) に初期化設定がありませんか? OWIN パイプラインへの OPTIONS 要求を許可する Azure portal の設定はありますか?
関連コード:
adal.js の初期化
OWIN ミドルウェアの初期化
WebApiConfig の初期化
API OPTIONS 動詞ハンドラーの登録
関連リソース
ときどき、次の (およびそれ以上の) フォーラムやブログの投稿、および github のサンプル コードから考えられるあらゆる組み合わせを試しました。
azure-active-directory - adal4j を使用してログアウトする
adal4j を使用してログアウトを実装するにはどうすればよいですか? 現在、このライブラリにはこれを行うためのメソッドがありません。これが私の例です。
javascript - ADAL - SPA アプリの Angular JS で使用される JavaScript。APIGEE を介して公開されたサード パーティの API を呼び出し、CORS エラーを発生させます。
http://www.cloudidentity.com/blog/2014/10/28/adal-javascript-and-angularjs-deep-diveに記載されているように、SPA を作成し、ユーザー ストアと ADAL-JavaScript ライブラリに Azure AD を使用しました。 /私のangular jsコードと統合します。認証フローは正常に行われましたが、APIGEE を使用して公開されたサード パーティの API を呼び出すと、次のエラー メッセージが表示されました。
リソースの読み込みに失敗しました: サーバーは 502 (Bad Gateway) のステータスで応答しました
XMLHttpRequest は http://webapiexposedusingapigee を読み込めません。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーがありません。したがって、オリジン ' http://mywebsite.in ' へのアクセスは許可されていません。応答の HTTP ステータス コードは 502 でした。
Fiddler をチェックインすると、次のエラー文字列が表示されました。 "faultstring=許可ヘッダーなしで 405 応答を受け取りました"
そして次のように警告します:
Cross-Origin Request Blocked: Same Origin ポリシーにより、http://test.apigee.net/v1/selectop/myapi でのリモート リソースの読み取りが禁止されています。これは、リソースを同じドメインに移動するか、CORS を有効にすることで修正できます。
APIGEE に次のヘッダーを追加しました。
これに関するヘルプをいただければ幸いです。
ありがとう。