2016-09-27 18 views
0

私はこのライブラリが設計したものを正確に実行しようとしています。私の.NETコード(現在はテストコンソールアプリケーション)が現在のユーザーのADFSからトークンを取得し、 REST Web APIエンドポイントを使用して認証し、REST Web APIエンドポイントを呼び出します。 This articleは、ADALがサポートする基本フローと呼ばれます。私の組織はWindows Server 2012 SP2 ADFSを実行します。コンソールアプリケーションとADFSは、オンプレミスです。ADAL .NETからADFS

これを設定して使用する方法の完全な例を教えてもらえますか?コードスニペットは問題ありませんが、説明されていない部分がたくさんあります。たとえば、認証コンテキストのエンドポイントは何ですか?私はシステム管理者に何を求めていますか?彼らは私にSTSエンドポイントを与えましたが、それはうまくいかないようです。サーバーのURLだけではなく、クエリ文字列やその他の拡張子を渡す必要があると思いますが、その周りには説明がありません。事実上、私が見つけたすべてのサンプルと例は、クライアントアプリケーションをAzureに登録することを扱っています。私はAzureを使用していません。

私のコードは、現在、次のようになります。

AuthenticationContext authenticationContext = new AuthenticationContext("https://sts.myorg.co.za"); 
var token = authenticationContext.AcquireToken("http://myservices/service1", "a8cb2a71-da38-4cf4-9023-7799d00e09f6", new Uri("http://TodoListClient")); 

しかしAquireTokenへの呼び出しがThis method overload is not supported by 'https://sts.myorg.co.za'を言っ例外で失敗。

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

おかげで、 ピーター

答えて

0

あなたはADALのコンストラクタにvalidateAuthority = falseを渡す必要があります。

+0

ありがとうございます、これが必要であることを[ドキュメント](https://github.com/AzureAD/azure-activedirectory-library-for-dotnet/wiki/ADAL-.NET-Q-&-A)から確認しています権限の検証をサポートしていないADFSの場合他のADFS固有の質問をお手伝いできますか?すべての[例](https://github.com/Azure-Samples/active-directory-dotnet-native-desktop)には、アプリのクライアントIDを取得して使用するなどのAzure固有の手順があります。どのようにADFSでそれを行うのですか?あるいは、手順が異なっている場合は、どこでドキュメントやサンプルを見つけることができますか?ありがとう! – Peter