Skip to content

Commit

Permalink
support auto-login
Browse files Browse the repository at this point in the history
  • Loading branch information
suwatch committed Jan 14, 2015
1 parent 245a1a3 commit 93d3915
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 15 deletions.
10 changes: 5 additions & 5 deletions ARMClient.Authentication/AADAuthentication/BaseAuthHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ public async Task<AuthenticationResult> GetTokenByTenant(string tenantId)
{
foreach (var authResult in authResults)
{
Console.WriteLine(authResult.UserInfo.UserId);
Trace.WriteLine(authResult.UserInfo.UserId);
}

throw new InvalidOperationException("Multiple users found. Please specify user argument!");
Expand Down Expand Up @@ -131,10 +131,10 @@ public async Task<AuthenticationResult> GetTokenBySpn(string tenantId, string ap
tenantId = tenantId
};

Console.WriteLine("App: {0}, Tenant: {1}", appId, tenantId);
Trace.WriteLine(String.Format("App: {0}, Tenant: {1}", appId, tenantId));

var subscriptions = await GetSubscriptions(authResult);
Console.WriteLine("\tThere are {0} subscriptions", subscriptions.Length);
Trace.WriteLine(String.Format("\tThere are {0} subscriptions", subscriptions.Length));

info.subscriptions = subscriptions.Select(subscription => new SubscriptionCacheInfo
{
Expand All @@ -144,7 +144,7 @@ public async Task<AuthenticationResult> GetTokenBySpn(string tenantId, string ap

foreach (var subscription in subscriptions)
{
Console.WriteLine("\tSubscription {0} ({1})", subscription.subscriptionId, subscription.displayName);
Trace.WriteLine(String.Format("\tSubscription {0} ({1})", subscription.subscriptionId, subscription.displayName));
}

tenantCache[tenantId] = info;
Expand Down Expand Up @@ -336,7 +336,7 @@ protected AuthenticationResult GetAuthorizationResult(Dictionary<TokenCacheKey,
protected async Task<Dictionary<string, TenantCacheInfo>> GetTokenForTenants(Dictionary<TokenCacheKey, string> tokenCache, AuthenticationResult authResult)
{
var tenantIds = await GetTenantIds(authResult);
Console.WriteLine("User {0} belongs to {1} tenants", authResult.UserInfo.UserId, tenantIds.Length);
Trace.WriteLine(string.Format("User {0} belongs to {1} tenants", authResult.UserInfo.UserId, tenantIds.Length));

var tenantCache = this.TenantStorage.GetCache();
foreach (var tenantId in tenantIds)
Expand Down
21 changes: 12 additions & 9 deletions ARMClient.Console/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -106,17 +106,25 @@ static int Main(string[] args)
|| String.Equals(verb, "post", StringComparison.OrdinalIgnoreCase))
{
var path = _parameters.Get(1, keyName: "url");
var verbose = _parameters.Get("-verbose", requires: false) != null;
var baseUri = new Uri(ARMClient.Authentication.Constants.CSMUrls[(int)AzureEnvironments.Prod]);
var uri = new Uri(baseUri, path);

// TODO: acquire token
EnsureTokenCache(persistentAuthHelper);
if (!verbose)
{
Trace.Listeners.Clear();
}

if (!persistentAuthHelper.IsCacheValid())
{
persistentAuthHelper.AzureEnvironments = GetAzureEnvironments(uri);
persistentAuthHelper.AcquireTokens().Wait();
}

var env = persistentAuthHelper.AzureEnvironments;
baseUri = new Uri(ARMClient.Authentication.Constants.CSMUrls[(int)env]);
uri = new Uri(baseUri, path);
var content = ParseHttpContent(verb, _parameters);
var verbose = _parameters.Get("-verbose", requires: false) != null;
_parameters.ThrowIfUnknown();

var subscriptionId = GetSubscription(uri);
Expand All @@ -141,14 +149,9 @@ static int Main(string[] args)
PrintUsage();
return 1;
}
catch (CommandLineException ex)
{
Console.WriteLine(ex.Message);
return -1;
}
catch (Exception ex)
{
Console.WriteLine(ex);
Console.WriteLine(ex.GetBaseException().Message);
return -1;
}
}
Expand Down
2 changes: 1 addition & 1 deletion ARMClient.Library/ARMClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ private async Task<HttpResponseMessage> HttpInvoke(Uri uri, string verb, string
using (var client = new HttpClient(new HttpClientHandler()))
{
client.DefaultRequestHeaders.Add("Authorization", this._authorizationHeader);
client.DefaultRequestHeaders.Add("User-Agent", "CSMClient-" + Environment.MachineName);
client.DefaultRequestHeaders.Add("User-Agent", "ARMClient-" + Environment.MachineName);
client.DefaultRequestHeaders.Add("Accept", "application/json");

HttpResponseMessage response = null;
Expand Down

0 comments on commit 93d3915

Please sign in to comment.