過去にOwinを使用してMvc Web Apiプロジェクトにトークンエンドポイントを作成し、oauth 2.0トークンに「 Resource Owner Password Credentialsgrant typeここで、アクセストークンプロバイダーは、データベースクライアントテーブルをチェックして、モバイルクライアント(Cordova用Visual Studioツールで開発されたマルチプラットフォームアプリ)によって提供された資格情報の有効性を確認します。
このプロジェクトでは、Web ApiはActive Directory Windowsドメインアカウントによって使用されるマルチプラットフォームモバイルアプリによって消費されます
Owin Oauth 2.0を使用してこれらのユーザーにアクセストークンを付与したいのですが、これらの資格情報の有効性を確認する方法がわかりません。
私が考えていたのは、/token
背後のエンドポイント"basic authentication"
およびアクセストークンプロバイダーのコードで、認証から使用される場合、Asp.netパイプラインによって自動的に作成されるIDからユーザーを取得します。
それはうまくいくものですか?
AD WindowsアカウントにOauth 2.0を使用することをお勧めしますか?
注:
Active DirectoryがOauth 2.0エンドポイントを単独で提供できるかどうかも調査しています。
Active Directoryフェデレーションサービスを使用してOAuth2トークンを取得する方法の非常に優れたチュートリアルを次に示します。 https://technet.Microsoft.com/en-us/library/dn633593.aspx 。ウォークスルー全体を取得するには、下部にあるすべてのリンクをたどる必要があります。
。NET用Windows Azure AD認証ライブラリ を使用することに注意してください。しかし、そのドキュメントによれば、そのライブラリはAzure Active DirectoryとオンプレミスActive Directoryの両方に使用されます。
ワークフローに関しては、認証されると、ベアラトークンを取得してWebAPIに提示できるようになります。次に、WebAPIは「AD FSによって発行されたことを確認するためにトークンの署名を検証し、トークンがまだ有効で有効期限が切れていないかどうかを確認し、トークン内の他のクレームも検証する可能性があります。許可され、要求された情報が応答で送信されるか、または許可されず、データは送信されません。」 - https://technet.Microsoft.com/en-us/library/dn633593.aspx
AD上でADFS 3.0を使用して、OAuth 2.0 Authorization Server機能を提供します: http://blog.scottlogic.com/2015/03/09/OAUTH2 -Authentication-with-ADFS-3.0.html
「基本認証」の背後にトークンエンドポイントを配置しても、ユーザーではなくトークンエンドポイントでクライアントを認証するため、役に立ちません。ただし、「基本認証」の背後に許可エンドポイントを配置することもできます。