"Microsoft.AspNetCore.Authentication。*"パッケージのサービスを使用して、asp.netコアプロジェクトのAzure AD認証を設定しました。このプロジェクトはAzure App ServiceにWeb Appとして配備される予定です。Asp.NetコアのAzure AD認証
私はAzure AD認証を有効にしていましたが、Azure Portalのアプリケーション設定からWebアプリケーションレベルで同じものを有効にするオプションもあります。
私はオプションが推奨され、その周りに疑問を持っています。 nuGetパッケージで設定されたAzure AD認証を利用していないときには、StartUp.csファイルにOpenId接続サービスをプラグインしていないことがわかります。これらのサービスは、User.Identity.Nameのような認証プロパティを実装する上で重要な役割を果たしていると思います。一方、ポータル対応の認証だけでは、この情報が入力されることはありません。だから、私は、現在のクレーム情報を認可のために活用するなど、ログインしたユーザーの身元を確認してさらに作業をしたいと思っても、ポータルのみの認証ではこれを達成できません。
「ポータルのみ」はOAuthだと思います。 OAuthはサードパーティのログインプロバイダのように扱われるため、アプリケーションに実際のユーザオブジェクトが必要になり、そのログインを関連付けることになります。 OAuthのユーザー情報は、クレームを通じて提供されます。あなたは本質的にユーザーのクレームを使って適切なユーザーオブジェクトを作成/検索し、Twitter、Facebookなどと同様にそのユーザーにサインインします。 –
Chrisに感謝します!受け取ったクレームに基づいてUserオブジェクトを作成できるように思えます。私は、両方のケースでフィドラーを通してレスポンスをチェックし、同じ結果セットを見ることができました。これは、私がnuGetパッケージを介して追加したフレームワークサービスが私にとってそのタスクを単純化し、ユーザーオブジェクトの生成を担当していることを示唆しています。ポータル対応の認証で同じことをしたいのであれば、必要なオブジェクトを設定する必要があります。 –
私は'がAzure ADで働いていましたが、私がOpenIDについて知っていることに基づいて、違いは、ユーザーオブジェクトが完全にOpenIDで外部にあるということです。 'はSSOと機能的に似ていますが、Webサイトは単に認証元のデータを信頼します。 OAuthは違う獣です。それは多くの認証要因の'です。 –