2016-11-23 9 views
0

私はAzure Api RESTを持っており、ユーザー名/パスワードを入力してアクセスできます。 C#からこのAPIにアクセスするにはどうすればよいですか?C#ユーザー名/パスワードを使用してAzure ADに接続します。

は少し検索した後、私はAuthenticationContextの使用について気にいらを見つけました..しかし、それは私Authenticationcontext .AcquireToken(リソース、clientIdを、資格情報)のために働くことができませんでした。

ここで、「リソース」パラメータとクライアントIDが得られます。たくさん

答えて

0

おかげで私はいくつかの基礎を築いthis post上の私の仕事のほとんどをベース。

最初にAzure ADにネイティブアプリケーションを作成し、Windows Azureサービス管理API権限を追加する必要があります。

Creating AD App

のClientIDは、このアプリから取得されます。

これは私が現在管理SDKで使用できるトークンを取得するために使用しているコードです:

string userName = "yourUserName"; 
string password = "yourPassword"; 
string directoryName = "yourDirectory.onmicrosoft.com"; 
string clientId = "{ClientId obtained by creating an App in the Active Directory}"; 
var credentials= new UserPasswordCredential(string.Format("{0}@{1}", userName, directoryName), password); 
var authenticationContext = new AuthenticationContext("https://login.windows.net/" + directoryName); 
var result = await authenticationContext.AcquireTokenAsync("https://management.core.windows.net/", clientID, credentials); 
var jwtToken = result.AccessToken; 
//Example accesing Azure Cdn Management API 
string subscriptionId = "xxxx-xxxxxx-xxxx-xxxxxxx"; 
using (var cdn = new CdnManagementClient(new TokenCredentials(jwtToken)) { SubscriptionId = subscriptionId }) 
{ 
    //do something... 
} 

あなたのディレクトリ名はに、Azureのポータル>アズールのADセクションで得ることができますドメイン名。私の例ディレクトリ名は「AppHopstedName」になるためにhttps://AppHostedName.azurewebsites.net/ :

Domain name

+0

私のアプリは紺碧のウェブサイトにホストされていますか? –

+0

Azureでディレクトリ名を確認し、Azure ADサービスにアクセスして**ドメイン名**を確認してください。画面キャプチャを含めるように答えを編集しました。 –

+0

ありがとうマティアス、あなたは私の多くを助けた –

関連する問題