-
Notifications
You must be signed in to change notification settings - Fork 4k
Removing exceptions thrown for AccessToken authentication #5135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -78,10 +78,6 @@ private static string GetTenantId(IAzureContext context) | |
if (context.Account == null) | ||
throw new ArgumentException(KeyVaultProperties.Resources.ArmAccountNotFound); | ||
|
||
if (context.Account.Type != AzureAccount.AccountType.User && | ||
context.Account.Type != AzureAccount.AccountType.ServicePrincipal) | ||
throw new ArgumentException(string.Format(KeyVaultProperties.Resources.UnsupportedAccountType, context.Account.Type)); | ||
|
||
if (context.Subscription != null && context.Account != null) | ||
tenantId = context.Subscription.GetPropertyAsArray(AzureSubscription.Property.Tenants) | ||
.Intersect(context.Account.GetPropertyAsArray(AzureAccount.Property.Tenants)) | ||
|
@@ -94,8 +90,6 @@ private static string GetTenantId(IAzureContext context) | |
|
||
private static Tuple<IAccessToken, string> GetTokenInternal(string tenantId, IAuthenticationFactory authFactory, IAzureContext context, string resourceIdEndpoint) | ||
{ | ||
if (string.IsNullOrWhiteSpace(tenantId)) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why is this being removed? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @markcowl This was removed because in the case that we don't get the tenant (with Account.Type being User or ServicePrincipal), I didn't want it to fail. However, looks like we'd want to grab the tenant from the context in this case - does that sound reasonable? If so I'll go ahead and change it up that way. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @tiffanyachen Correct, that would eb the correct thing to do here. |
||
throw new ArgumentException(KeyVaultProperties.Resources.NoTenantInContext); | ||
|
||
try | ||
{ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@markcowl This code retrieves looks for the tenant ID in two different places. The code around this line is intersecting subscription tenants with account tenants. If we don't find the tenant here, then we retrieve the tenant from the context Tenant property. Do you know of a reason that we shouldn't just retrieve the tenant directly from the context rather than doing the whole intersecting thing?
Also, are we guaranteed to be able to get a tenant id regardless of Account.Type? In other words, can we/should we throw if we don't find a tenant id at all?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@RandalliLama It is best practice to get the tenant from the context