現在、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 認証をアプリケーションに組み込むにはどうすればよいでしょうか?