問題タブ [adal.js]

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.

0 投票する
2 に答える
256 参照

javascript - ADAL Javascript を使用して Azure AD に対して非対話的に認証する

HTML5/CSS3/Javascript クライアント ベースのアプリケーションを作成して、非対話的な方法で Azure AD に対して認証を行い、今後は Web API 要求の作成に使用するトークンを取得したいと考えています。

これは ADAL JS を使用して可能ですか? はいの場合、それを行う方法に関するいくつかのコードサンプルをいただければ幸いです。

ありがとうございました。

0 投票する
1 に答える
8756 参照

javascript - Azure Active Directory 認証を使用して保護された Web API の AJAX 呼び出しに認証トークンを追加する

バニラの JavaScript ベースの Web ページがあります。Azure Active Directory 認証を使用して保護されているhttps://XYZ.azurewebsites.netでWeb API を呼び出す必要があります。

これを行うために、ADAL.js を Web サイトに追加し、Web サイト/Web アプリケーションを AAD のネイティブ クライアントとして登録しました。認証トークンをサイレントに取得するための最小限のコードについてはわかりません。

バニラ JavaScript で認証トークンを取得するために必要な最小限の手順は何ですか?

注: GitHub で Azure AD auth に関する多数のサンプルを確認しました。しかし、それらはすべて、レポを複製して、Audience、Tenants などの値を置き換えることを提案しています。私が必要としているのは、これらのサンプルのすべての肥大化したコードなしで同じことを行う単純なバニラ JS 関数です。

0 投票する
1 に答える
1952 参照

azure-active-directory - Azure AD - adaljs...このライブラリの使用方法

私はadaljsを使用しています。すべてが素晴らしいようです...ログイン、ログアウト、素晴らしいです。

さて、1 時間後...もう一度アプリをロードします。それほど素晴らしいことではありません。デバッグすると、adalAuthenticationService.userInfo.isAuthenticated == falseそれとadalAuthenticationService.profile == undefined.

これを手に入れたらどうすればいいですか?どうすれば回復しますか?

これらの関数はいつ、何のために使用しますか?

acquireToken
clearCache
clearCacheForResource
getCachedToken
getResourceForEndpoint
getUser
logOut
logIn
logOutInProgress

最も重要なのは、 adaljs リポジトリでこれらが詳細に (または簡単に)説明されていないのはなぜですか?

これを adaljs の関数とプロパティに関する wiki にしましょう。私たちは皆、それらが何をするのか、何のためにあるのか、どのように使用するのかを知りたいと思っています。

編集

私の app.js には、認証を処理するための次のコードがあります。

0 投票する
1 に答える
473 参照

angularjs - マルチテナント ADAL JS SPA と Azure AD Web アプリケーション バックエンド

現在、Microsoft Graph API を使用して、テナント ドメインのメンバーの Office 365 の「メタデータ」を監視および分析するマルチテナント Azure AD アプリケーションを実装しようとしています。たとえば、アプリケーションは One Drive のユーザー スペースを経時的に監視する場合があります。アプリケーションのアーキテクチャには、AngularJS SPA クライアントと Web アプリケーション バックエンドが含まれます。Web アプリケーションは、Azure AD 認証に加えて、ローカル登録 (電子メール アドレスとパスワードを使用した従来のサインアップなど) の両方を可能にするという考えです。たとえば、ローカル登録の場合、ユーザーは将来、Azure AD テナンシーをローカル アカウントに関連付けることができる可能性があります。

さまざまな認証メカニズムがどのように機能するかを理解するのに苦労しています。たとえば、Azure AD の場合、認証には 2 つのレベルが必要だと思います。1 つはクライアント SPA のユーザー用の認証であり、もう 1 つはバックエンドが Microsoft API を継続的に呼び出して更新を要求するために使用する認証です。トークンなど

  • Microsoft が既に例を提供しているさまざまな Azure AD 認証シナリオを使用して、このアーキテクチャをどのように実装できますか?
  • 2 つのアプリケーションを Azure AD に登録する (たとえば、ネイティブ アプリケーションとして登録された SPA と、それ自体で登録された Web アプリケーションなど) という私の最初の傾向がある場合、ユーザーはそれらの両方へのアクセスをどのように許可し、何を許可しますか?このワークフローはどのように見えますか? さらに、ユーザー リクエストの流れはどのようになりますか? SPA は Azure AD トークンを使用してバックエンドに要求を行いますが、バックエンドは認証トークンを受け取り、Microsoft API を呼び出すために何をするのでしょうか?
  • ローカル登録と共に Azure AD 認証をアプリケーションに組み込むにはどうすればよいでしょうか?
0 投票する
2 に答える
637 参照

azure - angularのADALを使用してユーザー情報をサーバー側に戻す方法

js 用の Azure Active Directory Authentication Library を自分のサイトに統合しようとしています。SPA サンプルをダウンロードして、アプリの詳細で動作するようにしました。

ただし、ユーザー情報をサーバーに戻すにはどうすればよいですか?

たとえば、これはログインしているユーザーを取得するためのサーバー側のサンプル コードです。

所有者の文字列は、読み取り可能なユーザー名または電子メール アドレス以外の GUID のようなトークンであることが判明しました。

このライブラリを直接使用してユーザー名または電子メール アドレスを取得する方法はありますか、それとも自分でサーバー側に送信する必要がありますか?

0 投票する
1 に答える
433 参照

c# - 認証トークンを使用した ADAL.js SPA 要求

AzureAD ベースのアプリケーションを作成しようとしています。機能するバックエンドがあり、ヘッダーにアクセス トークンを渡すことでアプリケーションに接続できる機能するクライアント サービスも 1 つあります。

ただし、ADAL.js を使用してこのコードで承認しようとすると、次のようになります。

サーバーからの応答で 401 しか返されません。コントローラーは非常にシンプルで、コントローラー全体の [Authorize] 表記が API アクセス ポイントにあります。

トークンが空でないことを確認しましたが、そうではありません。アプリを Azure アプリケーションに追加しました。サインインしてからヘッダーを設定するクライアント バックグラウンド アプリケーションで使用されるコントローラーを使用する場合、まったく同じ方法で正常な接続が生成されます。

私が見ることができる唯一の違いは、1 つは ADAL.js を使用し、もう 1 つは .NET ネイティブ クラスを使用して要求ヘッダーを設定することです。

明確化: httpClient は魔法のように機能します。SPA ソリューションは機能しません。

0 投票する
2 に答える
86 参照

azure - AngularAdal は AD ユーザーを制限します

私は AngularJS Adal プラグインを使用して、Azure AD で自分のページへのログインを処理しています。私はすべてが機能しており、それは素晴らしいことです。1 つの問題は、Azure AD でログインを使用できるユーザーを制限したいということです。これは可能ですか?

ありがとう、
フィールオール