diff --git a/eng/Packages.Data.props b/eng/Packages.Data.props
index 11e885e64450..d413461edad6 100755
--- a/eng/Packages.Data.props
+++ b/eng/Packages.Data.props
@@ -53,7 +53,8 @@
-
+
+
diff --git a/sdk/identity/Azure.Identity/CHANGELOG.md b/sdk/identity/Azure.Identity/CHANGELOG.md
index 1b5f46e4fc12..4a19d8740449 100644
--- a/sdk/identity/Azure.Identity/CHANGELOG.md
+++ b/sdk/identity/Azure.Identity/CHANGELOG.md
@@ -2,8 +2,17 @@
## 1.2.0-preview.3 (Unreleased)
+### New Features
+- First preview of new API for authenticating users with `DeviceCodeCredential` and `InteractiveBrowserCredential`
+ - Added method `Authenticate` which pro-actively interacts with the user to authenticate if necessary and returns a serializable `AuthenticationRecord`
+ - Added Options classes `DeviceCodeCredentialOptions` and `InteractiveBrowserCredentialOptions` which support the following new options
+ - `AuthenticationRecord` enables initializing a credential with an `AuthenticationRecord` returned from a prior call to `Authenticate`
+ - `DisableAutomaticAuthentication` disables automatic user interaction causing the credential to throw an `AuthenticationRequiredException` when interactive authentication is necessary.
+ - `EnablePersistentCache` configures these credentials to use a persistent cache shared between credentials which set this option. By default the cache is per credential and in memory only.
## 1.2.0-preview.2
+
+### New Features
- Updates `DefaultAzureCredential` to enable authenticating through Visual Studio
- Updates `DefaultAzureCredential` to enable authentication through Visual Studio Code
diff --git a/sdk/identity/Azure.Identity/api/Azure.Identity.netstandard2.0.cs b/sdk/identity/Azure.Identity/api/Azure.Identity.netstandard2.0.cs
index fd19b9801144..e16670e10958 100644
--- a/sdk/identity/Azure.Identity/api/Azure.Identity.netstandard2.0.cs
+++ b/sdk/identity/Azure.Identity/api/Azure.Identity.netstandard2.0.cs
@@ -5,6 +5,24 @@ public partial class AuthenticationFailedException : System.Exception
public AuthenticationFailedException(string message) { }
public AuthenticationFailedException(string message, System.Exception innerException) { }
}
+ public partial class AuthenticationRecord
+ {
+ internal AuthenticationRecord() { }
+ public string Authority { get { throw null; } }
+ public string HomeAccountId { get { throw null; } }
+ public string TenantId { get { throw null; } }
+ public string Username { get { throw null; } }
+ public static Azure.Identity.AuthenticationRecord Deserialize(System.IO.Stream stream, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
+ public static System.Threading.Tasks.Task DeserializeAsync(System.IO.Stream stream, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
+ public void Serialize(System.IO.Stream stream, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { }
+ public System.Threading.Tasks.Task SerializeAsync(System.IO.Stream stream, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
+ }
+ public partial class AuthenticationRequiredException : Azure.Identity.CredentialUnavailableException
+ {
+ public AuthenticationRequiredException(string message, Azure.Core.TokenRequestContext context) : base (default(string)) { }
+ public AuthenticationRequiredException(string message, Azure.Core.TokenRequestContext context, System.Exception innerException) : base (default(string)) { }
+ public Azure.Core.TokenRequestContext TokenRequestContext { get { throw null; } }
+ }
public partial class AuthorizationCodeCredential : Azure.Core.TokenCredential
{
protected AuthorizationCodeCredential() { }
@@ -69,11 +87,25 @@ public DefaultAzureCredentialOptions() { }
public partial class DeviceCodeCredential : Azure.Core.TokenCredential
{
protected DeviceCodeCredential() { }
+ public DeviceCodeCredential(System.Func deviceCodeCallback, Azure.Identity.DeviceCodeCredentialOptions options = null) { }
public DeviceCodeCredential(System.Func deviceCodeCallback, string clientId, Azure.Identity.TokenCredentialOptions options = null) { }
public DeviceCodeCredential(System.Func deviceCodeCallback, string tenantId, string clientId, Azure.Identity.TokenCredentialOptions options = null) { }
+ public virtual Azure.Identity.AuthenticationRecord Authenticate(Azure.Core.TokenRequestContext requestContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
+ public virtual Azure.Identity.AuthenticationRecord Authenticate(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
+ public virtual System.Threading.Tasks.Task AuthenticateAsync(Azure.Core.TokenRequestContext requestContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
+ public virtual System.Threading.Tasks.Task AuthenticateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
public override Azure.Core.AccessToken GetToken(Azure.Core.TokenRequestContext requestContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
public override System.Threading.Tasks.ValueTask GetTokenAsync(Azure.Core.TokenRequestContext requestContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
}
+ public partial class DeviceCodeCredentialOptions : Azure.Identity.TokenCredentialOptions
+ {
+ public DeviceCodeCredentialOptions() { }
+ public Azure.Identity.AuthenticationRecord AuthenticationRecord { get { throw null; } set { } }
+ public string ClientId { get { throw null; } set { } }
+ public bool DisableAutomaticAuthentication { get { throw null; } set { } }
+ public bool EnablePersistentCache { get { throw null; } set { } }
+ public string TenantId { get { throw null; } set { } }
+ }
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public partial struct DeviceCodeInfo
{
@@ -97,11 +129,25 @@ public EnvironmentCredential(Azure.Identity.TokenCredentialOptions options) { }
public partial class InteractiveBrowserCredential : Azure.Core.TokenCredential
{
public InteractiveBrowserCredential() { }
+ public InteractiveBrowserCredential(Azure.Identity.InteractiveBrowserCredentialOptions options) { }
public InteractiveBrowserCredential(string clientId) { }
public InteractiveBrowserCredential(string tenantId, string clientId, Azure.Identity.TokenCredentialOptions options = null) { }
+ public virtual Azure.Identity.AuthenticationRecord Authenticate(Azure.Core.TokenRequestContext requestContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
+ public virtual Azure.Identity.AuthenticationRecord Authenticate(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
+ public virtual System.Threading.Tasks.Task AuthenticateAsync(Azure.Core.TokenRequestContext requestContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
+ public virtual System.Threading.Tasks.Task AuthenticateAsync(System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
public override Azure.Core.AccessToken GetToken(Azure.Core.TokenRequestContext requestContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
public override System.Threading.Tasks.ValueTask GetTokenAsync(Azure.Core.TokenRequestContext requestContext, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
}
+ public partial class InteractiveBrowserCredentialOptions : Azure.Identity.TokenCredentialOptions
+ {
+ public InteractiveBrowserCredentialOptions() { }
+ public Azure.Identity.AuthenticationRecord AuthenticationRecord { get { throw null; } set { } }
+ public string ClientId { get { throw null; } set { } }
+ public bool DisableAutomaticAuthentication { get { throw null; } set { } }
+ public bool EnablePersistentCache { get { throw null; } set { } }
+ public string TenantId { get { throw null; } set { } }
+ }
public static partial class KnownAuthorityHosts
{
public static readonly System.Uri AzureChinaCloud;
diff --git a/sdk/identity/Azure.Identity/src/AbstractAcquireTokenParameterBuilderExtensions.cs b/sdk/identity/Azure.Identity/src/AbstractAcquireTokenParameterBuilderExtensions.cs
index 0429d3c0b930..610557840fc9 100644
--- a/sdk/identity/Azure.Identity/src/AbstractAcquireTokenParameterBuilderExtensions.cs
+++ b/sdk/identity/Azure.Identity/src/AbstractAcquireTokenParameterBuilderExtensions.cs
@@ -12,11 +12,13 @@ internal static class AbstractAcquireTokenParameterBuilderExtensions
public static async Task ExecuteAsync(this AbstractAcquireTokenParameterBuilder builder, bool async, CancellationToken cancellationToken)
where T : AbstractAcquireTokenParameterBuilder
{
- return async
+ Microsoft.Identity.Client.AuthenticationResult result = async
? await builder.ExecuteAsync(cancellationToken).ConfigureAwait(false)
#pragma warning disable AZC0102 // Do not use GetAwaiter().GetResult(). Use the TaskExtensions.EnsureCompleted() extension method instead.
: builder.ExecuteAsync(cancellationToken).GetAwaiter().GetResult();
#pragma warning restore AZC0102 // Do not use GetAwaiter().GetResult(). Use the TaskExtensions.EnsureCompleted() extension method instead.
+
+ return result;
}
}
}
diff --git a/sdk/identity/Azure.Identity/src/AuthenticationAccount.cs b/sdk/identity/Azure.Identity/src/AuthenticationAccount.cs
new file mode 100644
index 000000000000..f553b4e5fb1a
--- /dev/null
+++ b/sdk/identity/Azure.Identity/src/AuthenticationAccount.cs
@@ -0,0 +1,25 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+using Microsoft.Identity.Client;
+
+namespace Azure.Identity
+{ internal class AuthenticationAccount : IAccount
+ {
+ private AuthenticationRecord _profile;
+
+ internal AuthenticationAccount(AuthenticationRecord profile)
+ {
+ _profile = profile;
+ }
+
+ string IAccount.Username => _profile.Username;
+
+ string IAccount.Environment => _profile.Authority;
+
+ AccountId IAccount.HomeAccountId => _profile.AccountId;
+
+ public static explicit operator AuthenticationAccount(AuthenticationRecord profile) => new AuthenticationAccount(profile);
+ public static explicit operator AuthenticationRecord(AuthenticationAccount account) => account._profile;
+ }
+}
diff --git a/sdk/identity/Azure.Identity/src/AuthenticationRecord.cs b/sdk/identity/Azure.Identity/src/AuthenticationRecord.cs
new file mode 100644
index 000000000000..10546b4a2482
--- /dev/null
+++ b/sdk/identity/Azure.Identity/src/AuthenticationRecord.cs
@@ -0,0 +1,179 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text.Json;
+using System.Threading;
+using System.Threading.Tasks;
+using Azure.Core.Pipeline;
+using Microsoft.Identity.Client;
+
+namespace Azure.Identity
+{
+ ///
+ /// Account information relating to an authentication request.
+ ///
+ public class AuthenticationRecord
+ {
+ private const string UsernamePropertyName = "username";
+ private const string AuthorityPropertyName = "authority";
+ private const string HomeAccountIdPropertyName = "homeAccountId";
+ private const string TenantIdPropertyName = "tenantId";
+
+ private static readonly JsonEncodedText s_usernamePropertyNameBytes = JsonEncodedText.Encode(UsernamePropertyName);
+ private static readonly JsonEncodedText s_authorityPropertyNameBytes = JsonEncodedText.Encode(AuthorityPropertyName);
+ private static readonly JsonEncodedText s_homeAccountIdPropertyNameBytes = JsonEncodedText.Encode(HomeAccountIdPropertyName);
+ private static readonly JsonEncodedText s_tenantIdPropertyNameBytes = JsonEncodedText.Encode(TenantIdPropertyName);
+
+ internal AuthenticationRecord()
+ {
+
+ }
+
+ internal AuthenticationRecord(AuthenticationResult authResult)
+ {
+ Username = authResult.Account.Username;
+ Authority = authResult.Account.Environment;
+ AccountId = authResult.Account.HomeAccountId;
+ TenantId = authResult.TenantId;
+ }
+
+ internal AuthenticationRecord(string username, string authority, string homeAccountId, string tenantId)
+ {
+
+ Username = username;
+ Authority = authority;
+ AccountId = new AccountId(homeAccountId);
+ TenantId = tenantId;
+ }
+
+ ///
+ /// The user principal or service principal name of the account.
+ ///
+ public string Username { get; private set; }
+
+ ///
+ /// The authority host used to authenticate the account.
+ ///
+ public string Authority { get; private set; }
+
+ ///
+ /// A unique identifier of the account.
+ ///
+ public string HomeAccountId { get => AccountId.Identifier; }
+
+ ///
+ /// The tenant the account should authenticate in.
+ ///
+ public string TenantId { get; private set; }
+
+ internal AccountId AccountId { get; private set; }
+
+ ///
+ /// Serializes the to the specified .
+ ///
+ /// The which the serialized will be written to.
+ /// A controlling the request lifetime.
+ public void Serialize(Stream stream, CancellationToken cancellationToken = default)
+ {
+ if (stream is null) throw new ArgumentNullException(nameof(stream));
+
+ SerializeAsync(stream, false, cancellationToken).EnsureCompleted();
+ }
+
+ ///
+ /// Serializes the to the specified .
+ ///
+ /// The to which the serialized will be written.
+ /// A controlling the request lifetime.
+ public async Task SerializeAsync(Stream stream, CancellationToken cancellationToken = default)
+ {
+ if (stream is null) throw new ArgumentNullException(nameof(stream));
+
+ await SerializeAsync(stream, true, cancellationToken).ConfigureAwait(false);
+ }
+
+
+ ///
+ /// Deserializes the from the specified .
+ ///
+ /// The from which the serialized will be read.
+ /// A controlling the request lifetime.
+ public static AuthenticationRecord Deserialize(Stream stream, CancellationToken cancellationToken = default)
+ {
+ if (stream is null) throw new ArgumentNullException(nameof(stream));
+
+ return DeserializeAsync(stream, false, cancellationToken).EnsureCompleted();
+ }
+
+ ///
+ /// Deserializes the from the specified .
+ ///
+ /// The from which the serialized will be read.
+ /// A controlling the request lifetime.
+ public static async Task DeserializeAsync(Stream stream, CancellationToken cancellationToken = default)
+ {
+ if (stream is null) throw new ArgumentNullException(nameof(stream));
+
+ return await DeserializeAsync(stream, true, cancellationToken).ConfigureAwait(false);
+ }
+
+ private async Task SerializeAsync(Stream stream, bool async, CancellationToken cancellationToken)
+ {
+ using (var json = new Utf8JsonWriter(stream))
+ {
+
+ json.WriteStartObject();
+
+ json.WriteString(s_usernamePropertyNameBytes, Username);
+
+ json.WriteString(s_authorityPropertyNameBytes, Authority);
+
+ json.WriteString(s_homeAccountIdPropertyNameBytes, HomeAccountId);
+
+ json.WriteString(s_tenantIdPropertyNameBytes, TenantId);
+
+ json.WriteEndObject();
+
+ if (async)
+ {
+ await json.FlushAsync(cancellationToken).ConfigureAwait(false);
+ }
+ else
+ {
+ json.Flush();
+ }
+ }
+ }
+
+ private static async Task DeserializeAsync(Stream stream, bool async, CancellationToken cancellationToken)
+ {
+ var authProfile = new AuthenticationRecord();
+
+ using JsonDocument doc = async ? await JsonDocument.ParseAsync(stream, cancellationToken: cancellationToken).ConfigureAwait(false) : JsonDocument.Parse(stream);
+
+ foreach (JsonProperty prop in doc.RootElement.EnumerateObject())
+ {
+ switch (prop.Name)
+ {
+ case UsernamePropertyName:
+ authProfile.Username = prop.Value.GetString();
+ break;
+ case AuthorityPropertyName:
+ authProfile.Authority = prop.Value.GetString();
+ break;
+ case HomeAccountIdPropertyName:
+ authProfile.AccountId = new AccountId(prop.Value.GetString());
+ break;
+ case TenantIdPropertyName:
+ authProfile.TenantId = prop.Value.GetString();
+ break;
+ }
+ }
+
+ return authProfile;
+ }
+ }
+}
diff --git a/sdk/identity/Azure.Identity/src/AuthenticationRequiredException.cs b/sdk/identity/Azure.Identity/src/AuthenticationRequiredException.cs
new file mode 100644
index 000000000000..7367809bbad0
--- /dev/null
+++ b/sdk/identity/Azure.Identity/src/AuthenticationRequiredException.cs
@@ -0,0 +1,42 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+using System;
+using Azure.Core;
+
+namespace Azure.Identity
+{
+ ///
+ /// An exception indicating that interactive authentication is required.
+ ///
+ public class AuthenticationRequiredException : CredentialUnavailableException
+ {
+ ///
+ /// Creates a new with the specified message and context.
+ ///
+ /// The message describing the authentication failure.
+ /// The details of the authentication request.
+ public AuthenticationRequiredException(string message, TokenRequestContext context)
+ : this(message, context, default)
+ {
+
+ }
+
+ ///
+ /// Creates a new with the specified message, context and inner exception.
+ ///
+ /// The message describing the authentication failure.
+ /// The details of the authentication request.
+ /// The exception underlying the authentication failure.
+ public AuthenticationRequiredException(string message, TokenRequestContext context, Exception innerException)
+ : base(message, innerException)
+ {
+ TokenRequestContext = context;
+ }
+
+ ///
+ /// The details of the authentication request which resulted in the authentication failure.
+ ///
+ public TokenRequestContext TokenRequestContext { get; }
+ }
+}
diff --git a/sdk/identity/Azure.Identity/src/AuthorizationCodeCredential.cs b/sdk/identity/Azure.Identity/src/AuthorizationCodeCredential.cs
index e3a258834c5a..1872ceec3b31 100644
--- a/sdk/identity/Azure.Identity/src/AuthorizationCodeCredential.cs
+++ b/sdk/identity/Azure.Identity/src/AuthorizationCodeCredential.cs
@@ -21,8 +21,8 @@ public class AuthorizationCodeCredential : TokenCredential
private readonly IConfidentialClientApplication _confidentialClient;
private readonly ClientDiagnostics _clientDiagnostics;
private readonly string _authCode;
- private readonly HttpPipeline _pipeline;
- private IAccount _account;
+ private readonly CredentialPipeline _pipeline;
+ private AuthenticationRecord _record;
///
/// Protected constructor for mocking.
@@ -63,9 +63,9 @@ public AuthorizationCodeCredential(string tenantId, string clientId, string clie
options ??= new TokenCredentialOptions();
- _pipeline = HttpPipelineBuilder.Build(options);
+ _pipeline = CredentialPipeline.GetInstance(options);
- _confidentialClient = ConfidentialClientApplicationBuilder.Create(clientId).WithHttpClientFactory(new HttpPipelineClientFactory(_pipeline)).WithTenantId(tenantId).WithClientSecret(clientSecret).Build();
+ _confidentialClient = ConfidentialClientApplicationBuilder.Create(clientId).WithHttpClientFactory(new HttpPipelineClientFactory(_pipeline.HttpPipeline)).WithTenantId(tenantId).WithClientSecret(clientSecret).Build();
_clientDiagnostics = new ClientDiagnostics(options);
}
@@ -94,37 +94,39 @@ public override async ValueTask GetTokenAsync(TokenRequestContext r
private async ValueTask GetTokenImplAsync(bool async, TokenRequestContext requestContext, CancellationToken cancellationToken = default)
{
- using DiagnosticScope scope = _clientDiagnostics.CreateScope($"{nameof(AuthorizationCodeCredential)}.{nameof(GetToken)}");
-
- scope.Start();
+ using CredentialDiagnosticScope scope = _pipeline.StartGetTokenScope($"{nameof(AuthorizationCodeCredential)}.{nameof(GetToken)}", requestContext);
try
{
AccessToken token = default;
- if (_account is null)
+ if (_record is null)
{
AuthenticationResult result = await _confidentialClient.AcquireTokenByAuthorizationCode(requestContext.Scopes, _authCode).ExecuteAsync(async, cancellationToken).ConfigureAwait(false);
- _account = result.Account;
+ _record = new AuthenticationRecord(result);
token = new AccessToken(result.AccessToken, result.ExpiresOn);
}
else
{
- AuthenticationResult result = await _confidentialClient.AcquireTokenSilent(requestContext.Scopes, _account).ExecuteAsync(async, cancellationToken).ConfigureAwait(false);
+ AuthenticationResult result = await _confidentialClient.AcquireTokenSilent(requestContext.Scopes, (AuthenticationAccount)_record).ExecuteAsync(async, cancellationToken).ConfigureAwait(false);
token = new AccessToken(result.AccessToken, result.ExpiresOn);
}
- return token;
+ return scope.Succeeded(token);
}
- catch (Exception e)
+ catch (OperationCanceledException e)
{
scope.Failed(e);
throw;
}
+ catch (Exception e)
+ {
+ throw scope.FailAndWrap(e);
+ }
}
}
}
diff --git a/sdk/identity/Azure.Identity/src/Azure.Identity.csproj b/sdk/identity/Azure.Identity/src/Azure.Identity.csproj
index 17a5059661fd..bc6a252ca5b9 100644
--- a/sdk/identity/Azure.Identity/src/Azure.Identity.csproj
+++ b/sdk/identity/Azure.Identity/src/Azure.Identity.csproj
@@ -13,6 +13,7 @@
+
diff --git a/sdk/identity/Azure.Identity/src/Constants.cs b/sdk/identity/Azure.Identity/src/Constants.cs
index 7dcfe62752ab..88ae55df539c 100644
--- a/sdk/identity/Azure.Identity/src/Constants.cs
+++ b/sdk/identity/Azure.Identity/src/Constants.cs
@@ -2,6 +2,7 @@
// Licensed under the MIT License.
using System;
+using System.Collections.Generic;
using System.IO;
namespace Azure.Identity
@@ -13,12 +14,28 @@ internal class Constants
// TODO: Currently this is piggybacking off the Azure CLI client ID, but needs to be switched once the Developer Sign On application is available
public const string DeveloperSignOnClientId = "04b07795-8ddb-461a-bbee-02f9e1bf7b46";
- public static string SharedTokenCacheFilePath { get { return Path.Combine(DefaultCacheDirectory, "msal.cache"); } }
+ public static string SharedTokenCacheFilePath { get { return Path.Combine(DefaultMsalTokenCacheDirectory, DefaultMsalTokenCacheName); } }
public const int SharedTokenCacheAccessRetryCount = 100;
public static readonly TimeSpan SharedTokenCacheAccessRetryDelay = TimeSpan.FromMilliseconds(600);
- private static string DefaultCacheDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), ".IdentityService");
+ public static readonly string DefaultMsalTokenCacheDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), ".IdentityService");
+
+ public const string DefaultMsalTokenCacheKeychainService = "Microsoft.Developer.IdentityService";
+
+ public const string DefaultMsalTokenCacheKeychainAccount = "MSALCache";
+
+ public const string DefaultMsalTokenCacheKeyringLabel = "MSALCache";
+
+ public const string DefaultMsalTokenCacheKeyringSchema = "msal.cache";
+
+ public const string DefaultMsalTokenCacheKeyringCollection = "default";
+
+ public static readonly KeyValuePair DefaultMsaltokenCacheKeyringAttribute1 = new KeyValuePair("MsalClientID", null);
+
+ public static readonly KeyValuePair DefaultMsaltokenCacheKeyringAttribute2 = new KeyValuePair("Microsoft.Developer.IdentityService", null);
+
+ public const string DefaultMsalTokenCacheName = "msal.cache";
}
}
diff --git a/sdk/identity/Azure.Identity/src/CredentialPipeline.cs b/sdk/identity/Azure.Identity/src/CredentialPipeline.cs
index 5c8f8cd0a8bb..c8e4ccc70635 100644
--- a/sdk/identity/Azure.Identity/src/CredentialPipeline.cs
+++ b/sdk/identity/Azure.Identity/src/CredentialPipeline.cs
@@ -41,7 +41,7 @@ public IConfidentialClientApplication CreateMsalConfidentialClient(string tenant
public MsalPublicClient CreateMsalPublicClient(string clientId, string tenantId = default, string redirectUrl = default, bool attachSharedCache = false)
{
- return new MsalPublicClient(HttpPipeline, clientId, tenantId, redirectUrl, attachSharedCache);
+ return new MsalPublicClient(HttpPipeline, AuthorityHost, clientId, tenantId, redirectUrl, attachSharedCache);
}
public CredentialDiagnosticScope StartGetTokenScope(string fullyQualifiedMethod, TokenRequestContext context)
diff --git a/sdk/identity/Azure.Identity/src/DefaultAzureCredentialFactory.cs b/sdk/identity/Azure.Identity/src/DefaultAzureCredentialFactory.cs
index b46e408381c1..4fcc844134f7 100644
--- a/sdk/identity/Azure.Identity/src/DefaultAzureCredentialFactory.cs
+++ b/sdk/identity/Azure.Identity/src/DefaultAzureCredentialFactory.cs
@@ -31,7 +31,7 @@ public virtual TokenCredential CreateSharedTokenCacheCredential(string tenantId,
public virtual TokenCredential CreateInteractiveBrowserCredential(string tenantId)
{
- return new InteractiveBrowserCredential(tenantId, Constants.DeveloperSignOnClientId, Pipeline);
+ return new InteractiveBrowserCredential(tenantId, Constants.DeveloperSignOnClientId, Pipeline, true);
}
public virtual TokenCredential CreateAzureCliCredential()
diff --git a/sdk/identity/Azure.Identity/src/DeviceCodeCredential.cs b/sdk/identity/Azure.Identity/src/DeviceCodeCredential.cs
index aaed0e9db31a..0fd2cb9eb755 100644
--- a/sdk/identity/Azure.Identity/src/DeviceCodeCredential.cs
+++ b/sdk/identity/Azure.Identity/src/DeviceCodeCredential.cs
@@ -18,9 +18,12 @@ public class DeviceCodeCredential : TokenCredential
{
private readonly MsalPublicClient _client = null;
private readonly CredentialPipeline _pipeline;
- private IAccount _account = null;
+ private AuthenticationRecord _record = null;
private readonly string _clientId;
private readonly Func _deviceCodeCallback;
+ private bool _disableAutomaticAuthentication = false;
+ private const string AuthenticationRequiredMessage = "Interactive authentication is needed to acquire token. Call Authenticate to initiate the device code authentication.";
+ private const string NoDefaultScopeMessage = "Authenticating in this environment requires specifying a TokenRequestContext.";
///
/// Protected constructor for mocking
@@ -43,19 +46,31 @@ public DeviceCodeCredential(Func device
}
///
- /// Creates a new DeviceCodeCredential with the specifeid options, which will authenticate users with the specified application.
+ /// Creates a new DeviceCodeCredential with the specified options, which will authenticate users with the specified application.
///
/// The callback to be executed to display the device code to the user
/// The tenant id of the application to which users will authenticate. This can be null for multi-tenanted applications.
/// The client id of the application to which the users will authenticate
/// The client options for the newly created DeviceCodeCredential
public DeviceCodeCredential(Func deviceCodeCallback, string tenantId, string clientId, TokenCredentialOptions options = default)
- : this(deviceCodeCallback, tenantId, clientId, CredentialPipeline.GetInstance(options))
+ : this(deviceCodeCallback, tenantId, clientId, CredentialPipeline.GetInstance(options), false)
+ {
+ }
+
+ ///
+ /// Creates a new DeviceCodeCredential with the specified options, which will authenticate users using the device code flow.
+ ///
+ /// The callback to be executed to display the device code to the user.
+ /// The client options for the newly created .
+ public DeviceCodeCredential(Func deviceCodeCallback, DeviceCodeCredentialOptions options = default)
+ : this(deviceCodeCallback, options?.TenantId, options?.ClientId, CredentialPipeline.GetInstance(options), options?.EnablePersistentCache ?? false)
{
+ _disableAutomaticAuthentication = options?.DisableAutomaticAuthentication ?? false;
+ _record = options?.AuthenticationRecord;
}
- internal DeviceCodeCredential(Func deviceCodeCallback, string tenantId, string clientId, CredentialPipeline pipeline)
- : this(deviceCodeCallback, clientId, pipeline, pipeline.CreateMsalPublicClient(clientId, tenantId, redirectUrl: "https://login.microsoftonline.com/common/oauth2/nativeclient"))
+ internal DeviceCodeCredential(Func deviceCodeCallback, string tenantId, string clientId, CredentialPipeline pipeline, bool attachSharedCache)
+ : this(deviceCodeCallback, clientId, pipeline, pipeline.CreateMsalPublicClient(clientId, tenantId, redirectUrl: KnownAuthorityHosts.GetDeviceCodeRedirectUri(pipeline.AuthorityHost).ToString(), attachSharedCache))
{
}
@@ -69,6 +84,55 @@ internal DeviceCodeCredential(Func devi
_client = client;
}
+
+ ///
+ /// Interactively authenticates a user via the default browser.
+ ///
+ /// A controlling the request lifetime.
+ /// The result of the authentication request, containing the acquired , and the which can be used to silently authenticate the account.
+ public virtual AuthenticationRecord Authenticate(CancellationToken cancellationToken = default)
+ {
+ // get the default scope for the authority, throw if no default scope exists
+ string defaultScope = KnownAuthorityHosts.GetDefaultScope(_pipeline.AuthorityHost) ?? throw new CredentialUnavailableException(NoDefaultScopeMessage);
+
+ return Authenticate(new TokenRequestContext(new string[] { defaultScope }), cancellationToken);
+ }
+
+ ///
+ /// Interactively authenticates a user via the default browser.
+ ///
+ /// A controlling the request lifetime.
+ /// The which can be used to silently authenticate the account on future execution if persistent caching was enabled via when credential was instantiated.
+ public virtual async Task AuthenticateAsync(CancellationToken cancellationToken = default)
+ {
+ // get the default scope for the authority, throw if no default scope exists
+ string defaultScope = KnownAuthorityHosts.GetDefaultScope(_pipeline.AuthorityHost) ?? throw new CredentialUnavailableException(NoDefaultScopeMessage);
+
+ return await AuthenticateAsync(new TokenRequestContext(new string[] { defaultScope }), cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// Interactively authenticates a user via the default browser.
+ ///
+ /// A controlling the request lifetime.
+ /// The details of the authentication request.
+ /// The of the authenticated account.
+ public virtual AuthenticationRecord Authenticate(TokenRequestContext requestContext, CancellationToken cancellationToken = default)
+ {
+ return AuthenticateImplAsync(false, requestContext, cancellationToken).EnsureCompleted();
+ }
+
+ ///
+ /// Interactively authenticates a user via the default browser.
+ ///
+ /// A controlling the request lifetime.
+ /// The details of the authentication request.
+ /// The of the authenticated account.
+ public virtual async Task AuthenticateAsync(TokenRequestContext requestContext, CancellationToken cancellationToken = default)
+ {
+ return await AuthenticateImplAsync(true, requestContext, cancellationToken).ConfigureAwait(false);
+ }
+
///
/// Obtains a token for a user account, authenticating them through the device code authentication flow. This method is called by Azure SDK clients. It isn't intended for use in application code.
///
@@ -91,29 +155,58 @@ public override async ValueTask GetTokenAsync(TokenRequestContext r
return await GetTokenImplAsync(true, requestContext, cancellationToken).ConfigureAwait(false);
}
+ private async Task AuthenticateImplAsync(bool async, TokenRequestContext requestContext, CancellationToken cancellationToken)
+ {
+ using CredentialDiagnosticScope scope = _pipeline.StartGetTokenScope($"{nameof(DeviceCodeCredential)}.{nameof(Authenticate)}", requestContext);
+
+ try
+ {
+ AccessToken token = await GetTokenViaDeviceCodeAsync(requestContext.Scopes, async, cancellationToken).ConfigureAwait(false);
+
+ scope.Succeeded(token);
+
+ return _record;
+ }
+ catch (OperationCanceledException e)
+ {
+ scope.Failed(e);
+
+ throw;
+ }
+ catch (Exception e)
+ {
+ throw scope.FailAndWrap(e);
+ }
+ }
+
private async ValueTask GetTokenImplAsync(bool async, TokenRequestContext requestContext, CancellationToken cancellationToken)
{
- using CredentialDiagnosticScope scope = _pipeline.StartGetTokenScope("DeviceCodeCredential.GetToken", requestContext);
+ using CredentialDiagnosticScope scope = _pipeline.StartGetTokenScope($"{nameof(DeviceCodeCredential)}.{nameof(GetToken)}", requestContext);
try
{
- if (_account != null)
+ Exception inner = null;
+
+ if (_record != null)
{
try
{
- AuthenticationResult result = await _client.AcquireTokenSilentAsync(requestContext.Scopes, _account, async, cancellationToken).ConfigureAwait(false);
+ AuthenticationResult result = await _client.AcquireTokenSilentAsync(requestContext.Scopes, (AuthenticationAccount)_record, async, cancellationToken).ConfigureAwait(false);
return scope.Succeeded(new AccessToken(result.AccessToken, result.ExpiresOn));
}
- catch (MsalUiRequiredException)
+ catch (MsalUiRequiredException e)
{
- return scope.Succeeded(await GetTokenViaDeviceCodeAsync(requestContext.Scopes, async, cancellationToken).ConfigureAwait(false));
+ inner = e;
}
}
- else
+
+ if (_disableAutomaticAuthentication)
{
- return scope.Succeeded(await GetTokenViaDeviceCodeAsync(requestContext.Scopes, async, cancellationToken).ConfigureAwait(false));
+ throw new AuthenticationRequiredException(AuthenticationRequiredMessage, requestContext, inner);
}
+
+ return scope.Succeeded(await GetTokenViaDeviceCodeAsync(requestContext.Scopes, async, cancellationToken).ConfigureAwait(false));
}
catch (OperationCanceledException e)
{
@@ -131,7 +224,7 @@ private async Task GetTokenViaDeviceCodeAsync(string[] scopes, bool
{
AuthenticationResult result = await _client.AcquireTokenWithDeviceCodeAsync(scopes, code => DeviceCodeCallback(code, cancellationToken), async, cancellationToken).ConfigureAwait(false);
- _account = result.Account;
+ _record = new AuthenticationRecord(result);
return new AccessToken(result.AccessToken, result.ExpiresOn);
}
diff --git a/sdk/identity/Azure.Identity/src/DeviceCodeCredentialOptions.cs b/sdk/identity/Azure.Identity/src/DeviceCodeCredentialOptions.cs
new file mode 100644
index 000000000000..1c09be195dd9
--- /dev/null
+++ b/sdk/identity/Azure.Identity/src/DeviceCodeCredentialOptions.cs
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+using System.Threading;
+
+namespace Azure.Identity
+{
+ ///
+ /// Options to configure the .
+ ///
+ public class DeviceCodeCredentialOptions : TokenCredentialOptions
+ {
+ ///
+ /// Prevents the from automatically prompting the user. If automatic authentication is disabled a AuthenticationRequiredException will be thrown from and in the case that
+ /// user interaction is necessary. The application is responsible for handling this exception, and calling or to authenticate the user interactively.
+ ///
+ public bool DisableAutomaticAuthentication { get; set; }
+
+ ///
+ /// The tenant ID the user will be authenticated to. If not specified the user will be authenticated to their home tenant.
+ ///
+ public string TenantId { get; set; }
+
+ ///
+ /// The client ID of the application used to authenticate the user. If not specified the user will be authenticated with an Azure development application.
+ ///
+ public string ClientId { get; set; } = Constants.DeveloperSignOnClientId;
+
+ ///
+ /// If set to true the credential will store tokens in a persistent cache shared by other user credentials.
+ ///
+ public bool EnablePersistentCache { get; set; }
+
+ ///
+ /// The captured from a previous authentication.
+ ///
+ public AuthenticationRecord AuthenticationRecord { get; set; }
+ }
+}
diff --git a/sdk/identity/Azure.Identity/src/InteractiveBrowserCredential.cs b/sdk/identity/Azure.Identity/src/InteractiveBrowserCredential.cs
index e39162aba0ff..2eadab0c38cb 100644
--- a/sdk/identity/Azure.Identity/src/InteractiveBrowserCredential.cs
+++ b/sdk/identity/Azure.Identity/src/InteractiveBrowserCredential.cs
@@ -18,46 +18,60 @@ public class InteractiveBrowserCredential : TokenCredential
{
private readonly MsalPublicClient _client;
private readonly CredentialPipeline _pipeline;
- private IAccount _account = null;
+ private AuthenticationRecord _record = null;
+ private bool _disableAutomaticAuthentication = false;
+ private const string AuthenticationRequiredMessage = "Interactive authentication is needed to acquire token. Call Authenticate to interactively authenticate.";
+ private const string NoDefaultScopeMessage = "Authenticating in this environment requires specifying a TokenRequestContext.";
///
- /// Creates a new InteractiveBrowserCredential with the specified options, which will authenticate users.
+ /// Creates a new with the specified options, which will authenticate users.
///
public InteractiveBrowserCredential()
- : this(null, Constants.DeveloperSignOnClientId, CredentialPipeline.GetInstance(null))
+ : this(null, Constants.DeveloperSignOnClientId, CredentialPipeline.GetInstance(null), false)
{
}
///
- /// Creates a new InteractiveBrowserCredential with the specified options, which will authenticate users with the specified application.
+ /// Creates a new with the specified options, which will authenticate users with the specified application.
+ ///
+ /// The client options for the newly created .
+ public InteractiveBrowserCredential(InteractiveBrowserCredentialOptions options)
+ : this(options?.TenantId, options?.ClientId ?? Constants.DeveloperSignOnClientId, CredentialPipeline.GetInstance(options), options?.EnablePersistentCache ?? false)
+ {
+ _disableAutomaticAuthentication = options?.DisableAutomaticAuthentication ?? false;
+ _record = options?.AuthenticationRecord;
+ }
+
+ ///
+ /// Creates a new with the specified options, which will authenticate users with the specified application.
///
/// The client id of the application to which the users will authenticate
public InteractiveBrowserCredential(string clientId)
- : this(null, clientId, CredentialPipeline.GetInstance(null))
+ : this(null, clientId, CredentialPipeline.GetInstance(null), false)
{
}
///
- /// Creates a new InteractiveBrowserCredential with the specified options, which will authenticate users with the specified application.
+ /// Creates a new with the specified options, which will authenticate users with the specified application.
///
/// The tenant id of the application and the users to authenticate. Can be null in the case of multi-tenant applications.
/// The client id of the application to which the users will authenticate
/// TODO: need to link to info on how the application has to be created to authenticate users, for multiple applications
- /// The client options for the newly created DeviceCodeCredential
+ /// The client options for the newly created .
public InteractiveBrowserCredential(string tenantId, string clientId, TokenCredentialOptions options = default)
- : this(tenantId, clientId, CredentialPipeline.GetInstance(options))
+ : this(tenantId, clientId, CredentialPipeline.GetInstance(options), false)
{
}
- internal InteractiveBrowserCredential(string tenantId, string clientId, CredentialPipeline pipeline)
+ internal InteractiveBrowserCredential(string tenantId, string clientId, CredentialPipeline pipeline, bool attachSharedCache)
{
if (clientId is null) throw new ArgumentNullException(nameof(clientId));
_pipeline = pipeline;
- _client = _pipeline.CreateMsalPublicClient(clientId, tenantId, "http://localhost");
+ _client = _pipeline.CreateMsalPublicClient(clientId, tenantId, "http://localhost", attachSharedCache);
}
internal InteractiveBrowserCredential(CredentialPipeline pipeline, MsalPublicClient client)
@@ -67,6 +81,54 @@ internal InteractiveBrowserCredential(CredentialPipeline pipeline, MsalPublicCli
_client = client;
}
+ ///
+ /// Interactively authenticates a user via the default browser.
+ ///
+ /// A controlling the request lifetime.
+ /// The result of the authentication request, containing the acquired , and the which can be used to silently authenticate the account.
+ public virtual AuthenticationRecord Authenticate(CancellationToken cancellationToken = default)
+ {
+ // get the default scope for the authority, throw if no default scope exists
+ string defaultScope = KnownAuthorityHosts.GetDefaultScope(_pipeline.AuthorityHost) ?? throw new CredentialUnavailableException(NoDefaultScopeMessage);
+
+ return Authenticate(new TokenRequestContext(new string[] { defaultScope }), cancellationToken);
+ }
+
+ ///
+ /// Interactively authenticates a user via the default browser.
+ ///
+ /// A controlling the request lifetime.
+ /// The result of the authentication request, containing the acquired , and the which can be used to silently authenticate the account.
+ public virtual async Task AuthenticateAsync(CancellationToken cancellationToken = default)
+ {
+ // get the default scope for the authority, throw if no default scope exists
+ string defaultScope = KnownAuthorityHosts.GetDefaultScope(_pipeline.AuthorityHost) ?? throw new CredentialUnavailableException(NoDefaultScopeMessage);
+
+ return await AuthenticateAsync(new TokenRequestContext(new string[] { defaultScope }), cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// Interactively authenticates a user via the default browser.
+ ///
+ /// A controlling the request lifetime.
+ /// The details of the authentication request.
+ /// The of the authenticated account.
+ public virtual AuthenticationRecord Authenticate(TokenRequestContext requestContext, CancellationToken cancellationToken = default)
+ {
+ return AuthenticateImplAsync(false, requestContext, cancellationToken).EnsureCompleted();
+ }
+
+ ///
+ /// Interactively authenticates a user via the default browser.
+ ///
+ /// A controlling the request lifetime.
+ /// The details of the authentication request.
+ /// The of the authenticated account.
+ public virtual async Task AuthenticateAsync(TokenRequestContext requestContext, CancellationToken cancellationToken = default)
+ {
+ return await AuthenticateImplAsync(true, requestContext, cancellationToken).ConfigureAwait(false);
+ }
+
///
/// Obtains an token for a user account silently if the user has already authenticated, otherwise the default browser is launched to authenticate the user. This method is called by Azure SDK clients. It isn't intended for use in application code.
///
@@ -89,33 +151,56 @@ public override async ValueTask GetTokenAsync(TokenRequestContext r
return await GetTokenImplAsync(true, requestContext, cancellationToken).ConfigureAwait(false);
}
+ private async Task AuthenticateImplAsync(bool async, TokenRequestContext requestContext, CancellationToken cancellationToken)
+ {
+ using CredentialDiagnosticScope scope = _pipeline.StartGetTokenScope($"{nameof(InteractiveBrowserCredential)}.{nameof(Authenticate)}", requestContext);
+
+ try
+ {
+ scope.Succeeded(await GetTokenViaBrowserLoginAsync(requestContext.Scopes, async, cancellationToken).ConfigureAwait(false));
+
+ return _record;
+ }
+ catch (OperationCanceledException e)
+ {
+ scope.Failed(e);
+
+ throw;
+ }
+ catch (Exception e)
+ {
+ throw scope.FailAndWrap(e);
+ }
+ }
+
private async ValueTask GetTokenImplAsync(bool async, TokenRequestContext requestContext, CancellationToken cancellationToken)
{
- using CredentialDiagnosticScope scope = _pipeline.StartGetTokenScope("InteractiveBrowserCredential.GetToken", requestContext);
+ using CredentialDiagnosticScope scope = _pipeline.StartGetTokenScope($"{nameof(InteractiveBrowserCredential)}.{nameof(GetToken)}", requestContext);
try
{
- if (_account != null)
+ Exception inner = null;
+
+ if (_record != null)
{
try
{
- AuthenticationResult result = await _client.AcquireTokenSilentAsync(requestContext.Scopes, _account, async, cancellationToken).ConfigureAwait(false);
+ AuthenticationResult result = await _client.AcquireTokenSilentAsync(requestContext.Scopes, (AuthenticationAccount)_record, async, cancellationToken).ConfigureAwait(false);
return scope.Succeeded(new AccessToken(result.AccessToken, result.ExpiresOn));
}
- catch (MsalUiRequiredException)
+ catch (MsalUiRequiredException e)
{
- AccessToken token = await GetTokenViaBrowserLoginAsync(requestContext.Scopes, async, cancellationToken).ConfigureAwait(false);
-
- return scope.Succeeded(token);
+ inner = e;
}
}
- else
- {
- AccessToken token = await GetTokenViaBrowserLoginAsync(requestContext.Scopes, async, cancellationToken).ConfigureAwait(false);
- return scope.Succeeded(token);
+ if (_disableAutomaticAuthentication)
+ {
+ throw new AuthenticationRequiredException(AuthenticationRequiredMessage, requestContext, inner);
}
+
+ return scope.Succeeded(await GetTokenViaBrowserLoginAsync(requestContext.Scopes, async, cancellationToken).ConfigureAwait(false));
}
catch (OperationCanceledException e)
{
@@ -125,7 +210,7 @@ private async ValueTask GetTokenImplAsync(bool async, TokenRequestC
}
catch (Exception e)
{
- throw scope.FailAndWrap(e);
+ throw scope.FailAndWrap(e);
}
}
@@ -133,7 +218,7 @@ private async Task GetTokenViaBrowserLoginAsync(string[] scopes, bo
{
AuthenticationResult result = await _client.AcquireTokenInteractiveAsync(scopes, Prompt.SelectAccount, async, cancellationToken).ConfigureAwait(false);
- _account = result.Account;
+ _record = new AuthenticationRecord(result);
return new AccessToken(result.AccessToken, result.ExpiresOn);
}
diff --git a/sdk/identity/Azure.Identity/src/InteractiveBrowserCredentialOptions.cs b/sdk/identity/Azure.Identity/src/InteractiveBrowserCredentialOptions.cs
new file mode 100644
index 000000000000..2a1833775ea7
--- /dev/null
+++ b/sdk/identity/Azure.Identity/src/InteractiveBrowserCredentialOptions.cs
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+using System.Threading;
+
+namespace Azure.Identity
+{
+ ///
+ /// Options to configure the .
+ ///
+ public class InteractiveBrowserCredentialOptions : TokenCredentialOptions
+ {
+ ///
+ /// Prevents the from automatically prompting the user. If automatic authentication is disabled a AuthenticationRequiredException will be thrown from and in the case that
+ /// user interaction is necessary. The application is responsible for handling this exception, and calling or to authenticate the user interactively.
+ ///
+ public bool DisableAutomaticAuthentication { get; set; }
+
+ ///
+ /// The tenant ID the user will be authenticated to. If not specified the user will be authenticated to the home tenant.
+ ///
+ public string TenantId { get; set; }
+
+ ///
+ /// The client ID of the application used to authenticate the user. If not specified the user will be authenticated with an Azure development application.
+ ///
+ public string ClientId { get; set; } = Constants.DeveloperSignOnClientId;
+
+ ///
+ /// If set to true the credential will store tokens in a persistent cache shared by other user credentials.
+ ///
+ public bool EnablePersistentCache { get; set; }
+
+ ///
+ /// The captured from a previous authentication.
+ ///
+ public AuthenticationRecord AuthenticationRecord { get; set; }
+ }
+}
diff --git a/sdk/identity/Azure.Identity/src/KnownAuthorityHosts.cs b/sdk/identity/Azure.Identity/src/KnownAuthorityHosts.cs
index 852438f5f07c..9f78480c9569 100644
--- a/sdk/identity/Azure.Identity/src/KnownAuthorityHosts.cs
+++ b/sdk/identity/Azure.Identity/src/KnownAuthorityHosts.cs
@@ -10,24 +10,50 @@ namespace Azure.Identity
///
public static class KnownAuthorityHosts
{
+ private const string AzureCloudHostUrl = "https://login.microsoftonline.com/";
+ private const string AzureChinaCloudHostUrl = "https://login.chinacloudapi.cn/";
+ private const string AzureGermanCloudHostUrl = "https://login.microsoftonline.de/";
+ private const string AzureUSGovernmentHostUrl = "https://login.microsoftonline.us/";
///
/// The host of the Azure Active Directory authority for tenants in the Azure Public Cloud.
///
- public static readonly Uri AzureCloud = new Uri("https://login.microsoftonline.com/");
+ public static readonly Uri AzureCloud = new Uri(AzureCloudHostUrl);
///
/// The host of the Azure Active Directory authority for tenants in the Azure China Cloud.
///
- public static readonly Uri AzureChinaCloud = new Uri("https://login.chinacloudapi.cn/");
+ public static readonly Uri AzureChinaCloud = new Uri(AzureChinaCloudHostUrl);
///
/// The host of the Azure Active Directory authority for tenants in the Azure German Cloud.
///
- public static readonly Uri AzureGermanCloud = new Uri("https://login.microsoftonline.de/");
+ public static readonly Uri AzureGermanCloud = new Uri(AzureGermanCloudHostUrl);
///
/// The host of the Azure Active Directory authority for tenants in the Azure US Government Cloud.
///
- public static readonly Uri AzureUSGovernment = new Uri("https://login.microsoftonline.us/");
+ public static readonly Uri AzureUSGovernment = new Uri(AzureUSGovernmentHostUrl);
+
+ internal static string GetDefaultScope(Uri authorityHost)
+ {
+ switch (authorityHost.ToString())
+ {
+ case AzureCloudHostUrl:
+ return "https://management.core.windows.net//.default";
+ case AzureChinaCloudHostUrl:
+ return "https://management.core.chinacloudapi.cn//.default";
+ case AzureGermanCloudHostUrl:
+ return "https://management.core.cloudapi.de//.default";
+ case AzureUSGovernmentHostUrl:
+ return "https://management.core.usgovcloudapi.net//.default";
+ default:
+ return null;
+ }
+ }
+
+ internal static Uri GetDeviceCodeRedirectUri(Uri authorityHost)
+ {
+ return new Uri(authorityHost, "/common/oauth2/nativeclient");
+ }
}
}
diff --git a/sdk/identity/Azure.Identity/src/MsalPublicClient.cs b/sdk/identity/Azure.Identity/src/MsalPublicClient.cs
index 88c37f82eff1..98ae1aeafa92 100644
--- a/sdk/identity/Azure.Identity/src/MsalPublicClient.cs
+++ b/sdk/identity/Azure.Identity/src/MsalPublicClient.cs
@@ -8,24 +8,29 @@
using System.Threading.Tasks;
using Azure.Core.Pipeline;
using Microsoft.Identity.Client;
+using Microsoft.Identity.Client.Extensions.Msal;
namespace Azure.Identity
{
internal class MsalPublicClient
{
private readonly IPublicClientApplication _client;
- private readonly MsalCacheReader _cacheReader;
+ private readonly bool _attachSharedCache;
+ private readonly string _clientId;
+ private readonly Lazy _ensureInitAsync;
protected MsalPublicClient()
{
}
- public MsalPublicClient(HttpPipeline pipeline, string clientId, string tenantId = default, string redirectUrl = default, bool attachSharedCache = false)
+ public MsalPublicClient(HttpPipeline pipeline, Uri authorityHost, string clientId, string tenantId = default, string redirectUrl = default, bool attachSharedCache = false)
{
- PublicClientApplicationBuilder pubAppBuilder = PublicClientApplicationBuilder.Create(clientId).WithHttpClientFactory(new HttpPipelineClientFactory(pipeline));
-
tenantId ??= Constants.OrganizationsTenantId;
+ var authorityUri = new UriBuilder(authorityHost.Scheme, authorityHost.Host, authorityHost.Port, tenantId).Uri;
+
+ PublicClientApplicationBuilder pubAppBuilder = PublicClientApplicationBuilder.Create(clientId).WithAuthority(authorityUri).WithHttpClientFactory(new HttpPipelineClientFactory(pipeline));
+
pubAppBuilder = pubAppBuilder.WithTenantId(tenantId);
if (!string.IsNullOrEmpty(redirectUrl))
@@ -35,34 +40,74 @@ public MsalPublicClient(HttpPipeline pipeline, string clientId, string tenantId
_client = pubAppBuilder.Build();
- if (attachSharedCache)
+ _clientId = clientId;
+
+ _ensureInitAsync = new Lazy(InitializeAsync);
+
+ _attachSharedCache = attachSharedCache;
+ }
+
+ private async Task InitializeAsync()
+ {
+ if (_attachSharedCache)
+ {
+ StorageCreationProperties storageProperties = new StorageCreationPropertiesBuilder(Constants.DefaultMsalTokenCacheName, Constants.DefaultMsalTokenCacheDirectory, _clientId)
+ .WithMacKeyChain(Constants.DefaultMsalTokenCacheKeychainService, Constants.DefaultMsalTokenCacheKeychainAccount)
+ .WithLinuxKeyring(Constants.DefaultMsalTokenCacheKeyringSchema, Constants.DefaultMsalTokenCacheKeyringCollection, Constants.DefaultMsalTokenCacheKeyringLabel, Constants.DefaultMsaltokenCacheKeyringAttribute1, Constants.DefaultMsaltokenCacheKeyringAttribute2)
+ .Build();
+
+ MsalCacheHelper cacheHelper = await MsalCacheHelper.CreateAsync(storageProperties).ConfigureAwait(false);
+
+ cacheHelper.RegisterCache(_client.UserTokenCache);
+ }
+ }
+
+ private async ValueTask EnsureInitializedAsync(bool async)
+ {
+ if (async)
+ {
+ await _ensureInitAsync.Value.ConfigureAwait(false);
+ }
+ else
{
- _cacheReader = new MsalCacheReader(_client.UserTokenCache, Constants.SharedTokenCacheFilePath, Constants.SharedTokenCacheAccessRetryCount, Constants.SharedTokenCacheAccessRetryDelay);
+#pragma warning disable AZC0102 // Do not use GetAwaiter().GetResult().
+ _ensureInitAsync.Value.GetAwaiter().GetResult();
+#pragma warning restore AZC0102 // Do not use GetAwaiter().GetResult().
}
}
public virtual async Task> GetAccountsAsync()
{
+ await EnsureInitializedAsync(true).ConfigureAwait(false);
+
return await _client.GetAccountsAsync().ConfigureAwait(false);
}
public virtual async Task AcquireTokenSilentAsync(string[] scopes, IAccount account, bool async, CancellationToken cancellationToken)
{
+ await EnsureInitializedAsync(async).ConfigureAwait(false);
+
return await _client.AcquireTokenSilent(scopes, account).ExecuteAsync(async, cancellationToken).ConfigureAwait(false);
}
public virtual async Task AcquireTokenInteractiveAsync(string[] scopes, Prompt prompt, bool async, CancellationToken cancellationToken)
{
+ await EnsureInitializedAsync(async).ConfigureAwait(false);
+
return await _client.AcquireTokenInteractive(scopes).WithPrompt(prompt).ExecuteAsync(async, cancellationToken).ConfigureAwait(false);
}
public virtual async Task AcquireTokenByUsernamePasswordAsync(string[] scopes, string username, SecureString password, bool async, CancellationToken cancellationToken)
{
+ await EnsureInitializedAsync(async).ConfigureAwait(false);
+
return await _client.AcquireTokenByUsernamePassword(scopes, username, password).ExecuteAsync(async, cancellationToken).ConfigureAwait(false);
}
public virtual async Task AcquireTokenWithDeviceCodeAsync(string[] scopes, Func deviceCodeCallback, bool async, CancellationToken cancellationToken)
{
+ await EnsureInitializedAsync(async).ConfigureAwait(false);
+
return await _client.AcquireTokenWithDeviceCode(scopes, deviceCodeCallback).ExecuteAsync(async, cancellationToken).ConfigureAwait(false);
}
diff --git a/sdk/identity/Azure.Identity/tests/AuthenticationRecordTests.cs b/sdk/identity/Azure.Identity/tests/AuthenticationRecordTests.cs
new file mode 100644
index 000000000000..b738768e9e92
--- /dev/null
+++ b/sdk/identity/Azure.Identity/tests/AuthenticationRecordTests.cs
@@ -0,0 +1,96 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+using System;
+using System.IO;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using NUnit.Framework;
+
+namespace Azure.Identity.Tests
+{
+ public class AuthenticationRecordTests
+ {
+ private const int TestBufferSize = 256;
+
+ [Test]
+ public void SerializeDeserializeInputChecks()
+ {
+ var record = new AuthenticationRecord(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
+
+ Assert.Throws(() => record.Serialize(null));
+ Assert.ThrowsAsync(async () => await record.SerializeAsync(null));
+ Assert.Throws(() => AuthenticationRecord.Deserialize(null));
+ Assert.ThrowsAsync(async () => await AuthenticationRecord.DeserializeAsync(null));
+ }
+
+ [Test]
+ public async Task SerializeDeserializeAsync()
+ {
+ var expRecord = new AuthenticationRecord(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
+
+ byte[] buff = new byte[TestBufferSize];
+
+ var stream = new MemoryStream(buff);
+
+ await expRecord.SerializeAsync(stream);
+
+ stream = new MemoryStream(buff, 0, (int)stream.Position);
+
+ var actRecord = await AuthenticationRecord.DeserializeAsync(stream);
+
+ Assert.AreEqual(expRecord.Username, actRecord.Username);
+ Assert.AreEqual(expRecord.Authority, actRecord.Authority);
+ Assert.AreEqual(expRecord.HomeAccountId, actRecord.HomeAccountId);
+ Assert.AreEqual(expRecord.TenantId, actRecord.TenantId);
+ }
+
+ [Test]
+ public void SerializeDeserialize()
+ {
+ var expRecord = new AuthenticationRecord(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
+
+ byte[] buff = new byte[TestBufferSize];
+
+ var stream = new MemoryStream(buff);
+
+ expRecord.Serialize(stream);
+
+ stream = new MemoryStream(buff, 0, (int)stream.Position);
+
+ var actRecord = AuthenticationRecord.Deserialize(stream);
+
+ Assert.AreEqual(expRecord.Username, actRecord.Username);
+ Assert.AreEqual(expRecord.Authority, actRecord.Authority);
+ Assert.AreEqual(expRecord.HomeAccountId, actRecord.HomeAccountId);
+ Assert.AreEqual(expRecord.TenantId, actRecord.TenantId);
+ }
+
+ [Test]
+ public void SerializeCancellationTokenCancelled()
+ {
+ CancellationTokenSource cts = new CancellationTokenSource();
+
+ cts.Cancel();
+
+ var expRecord = new AuthenticationRecord(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
+
+ var stream = new MemoryStream(TestBufferSize);
+
+ Assert.CatchAsync(async () => await expRecord.SerializeAsync(stream, cts.Token));
+ }
+
+ [Test]
+ public void DeserializeCancellationTokenCancelled()
+ {
+ CancellationTokenSource cts = new CancellationTokenSource();
+
+ cts.Cancel();
+
+ var stream = new MemoryStream(TestBufferSize);
+
+ Assert.CatchAsync(async () => await AuthenticationRecord.DeserializeAsync(stream, cts.Token));
+ }
+ }
+}
diff --git a/sdk/identity/Azure.Identity/tests/DeviceCodeCredentialTests.cs b/sdk/identity/Azure.Identity/tests/DeviceCodeCredentialTests.cs
index 7f2344a9dd4d..4de82a7a970c 100644
--- a/sdk/identity/Azure.Identity/tests/DeviceCodeCredentialTests.cs
+++ b/sdk/identity/Azure.Identity/tests/DeviceCodeCredentialTests.cs
@@ -157,6 +157,20 @@ public void AuthenticateWithDeviceCodeCallbackThrowsAsync()
Assert.IsInstanceOf(typeof(MockException), ex.InnerException);
}
+ [Test]
+ public void DisableAutomaticAuthenticationException()
+ {
+ var expectedCode = Guid.NewGuid().ToString();
+
+ var cred = InstrumentClient(new DeviceCodeCredential((code, cancelToken) => VerifyDeviceCode(code, expectedCode), new DeviceCodeCredentialOptions { DisableAutomaticAuthentication = true }));
+
+ var expTokenRequestContext = new TokenRequestContext(new string[] { "https://vault.azure.net/.default" }, Guid.NewGuid().ToString());
+
+ var ex = Assert.ThrowsAsync(async () => await cred.GetTokenAsync(expTokenRequestContext));
+
+ Assert.AreEqual(expTokenRequestContext, ex.TokenRequestContext);
+ }
+
private MockResponse ProcessMockRequest(MockRequest mockRequest, string code, string token)
{
string requestUrl = mockRequest.Uri.ToUri().AbsoluteUri;
@@ -171,12 +185,12 @@ private MockResponse ProcessMockRequest(MockRequest mockRequest, string code, st
return OpenIdConfigurationResponse;
}
- if (requestUrl.StartsWith("https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode"))
+ if (requestUrl.StartsWith("https://login.microsoftonline.com/common/oauth2/v2.0/devicecode"))
{
return CreateDeviceCodeResponse(code);
}
- if (requestUrl.StartsWith("https://login.microsoftonline.com/organizations/oauth2/v2.0/token"))
+ if (requestUrl.StartsWith("https://login.microsoftonline.com/common/oauth2/v2.0/token"))
{
return CreateTokenResponse(code, token);
diff --git a/sdk/identity/Azure.Identity/tests/InteractiveBrowserCredentialTests.cs b/sdk/identity/Azure.Identity/tests/InteractiveBrowserCredentialTests.cs
index ca313354c5e0..d17835c2f8d3 100644
--- a/sdk/identity/Azure.Identity/tests/InteractiveBrowserCredentialTests.cs
+++ b/sdk/identity/Azure.Identity/tests/InteractiveBrowserCredentialTests.cs
@@ -14,52 +14,10 @@ namespace Azure.Identity.Tests
{
public class InteractiveBrowserCredentialTests : ClientTestBase
{
- private const string MultiTenantClientId = "04b07795-8ddb-461a-bbee-02f9e1bf7b46";
- private const string SingleTenantClientId = "9985250a-c1c3-4caf-a039-9d98f2a0707a";
- private const string TenantId = "a7fc734e-9961-43ce-b4de-21b8b38403ba";
-
public InteractiveBrowserCredentialTests(bool isAsync) : base(isAsync)
{
}
- [Test]
- [Ignore("This test is an integration test which can only be run with user interaction")]
- public async Task AuthenticateWithBrowserAsync()
- {
- // to fully manually verify the InteractiveBrowserCredential this test should be run both authenticating with a
- // school / organization account as well as a personal live account, i.e. a @outlook.com, @live.com, or @hotmail.com
- var cred = new InteractiveBrowserCredential();
-
- AccessToken token = await cred.GetTokenAsync(new TokenRequestContext(new string[] { "https://vault.azure.net/.default" })).ConfigureAwait(false);
-
- Assert.NotNull(token.Token);
- }
-
- [Test]
- [Ignore("This test is an integration test which can only be run with user interaction")]
- public void AuthenticateBrowserCancellationAsync()
- {
- var cred = new InteractiveBrowserCredential();
-
- var cancelSource = new CancellationTokenSource();
-
- ValueTask getTokenTask = cred.GetTokenAsync(new TokenRequestContext(new string[] { "https://vault.azure.net/.default" }), cancelSource.Token);
-
- cancelSource.Cancel();
-
- Assert.ThrowsAsync(async () => await getTokenTask.ConfigureAwait(false));
- }
-
- [Test]
- [Ignore("This test is an integration test which can only be run with user interaction")]
- public async Task AuthenticateWithBrowserSingleTenantAsync()
- {
- var cred = new InteractiveBrowserCredential(TenantId, SingleTenantClientId);
-
- AccessToken token = await cred.GetTokenAsync(new TokenRequestContext(new string[] { "https://vault.azure.net/.default" })).ConfigureAwait(false);
-
- Assert.NotNull(token.Token);
- }
[Test]
public async Task InteractiveBrowserAcquireTokenInteractiveException()
@@ -146,5 +104,17 @@ public async Task InteractiveBrowserRefreshException()
await Task.CompletedTask;
}
+
+ [Test]
+ public void DisableAutomaticAuthenticationException()
+ {
+ var cred = new InteractiveBrowserCredential(new InteractiveBrowserCredentialOptions { DisableAutomaticAuthentication = true });
+
+ var expTokenRequestContext = new TokenRequestContext(new string[] { "https://vault.azure.net/.default" }, Guid.NewGuid().ToString());
+
+ var ex = Assert.ThrowsAsync(async () => await cred.GetTokenAsync(expTokenRequestContext).ConfigureAwait(false));
+
+ Assert.AreEqual(expTokenRequestContext, ex.TokenRequestContext);
+ }
}
}
diff --git a/sdk/identity/Azure.Identity/tests/IntertactiveBrowserCredentialLiveTests.cs b/sdk/identity/Azure.Identity/tests/IntertactiveBrowserCredentialLiveTests.cs
new file mode 100644
index 000000000000..91db42058c79
--- /dev/null
+++ b/sdk/identity/Azure.Identity/tests/IntertactiveBrowserCredentialLiveTests.cs
@@ -0,0 +1,89 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+using Azure.Core;
+using NUnit.Framework;
+
+namespace Azure.Identity.Tests
+{
+ public class IntertactiveBrowserCredentialLiveTests
+ {
+ private const string SingleTenantClientId = "9985250a-c1c3-4caf-a039-9d98f2a0707a";
+ private const string TenantId = "a7fc734e-9961-43ce-b4de-21b8b38403ba";
+
+ [Test]
+ [Ignore("This test is an integration test which can only be run with user interaction")]
+ public async Task AuthenticateWithBrowserAsync()
+ {
+ // to fully manually verify the InteractiveBrowserCredential this test should be run both authenticating with a
+ // school / organization account as well as a personal live account, i.e. a @outlook.com, @live.com, or @hotmail.com
+ var cred = new InteractiveBrowserCredential();
+
+ AccessToken token = await cred.GetTokenAsync(new TokenRequestContext(new string[] { "https://vault.azure.net/.default" })).ConfigureAwait(false);
+
+ Assert.NotNull(token.Token);
+ }
+
+ [Test]
+ [Ignore("This test is an integration test which can only be run with user interaction")]
+ public void AuthenticateBrowserCancellationAsync()
+ {
+ var cred = new InteractiveBrowserCredential();
+
+ var cancelSource = new CancellationTokenSource();
+
+ ValueTask getTokenTask = cred.GetTokenAsync(new TokenRequestContext(new string[] { "https://vault.azure.net/.default" }), cancelSource.Token);
+
+ cancelSource.Cancel();
+
+ Assert.ThrowsAsync(async () => await getTokenTask.ConfigureAwait(false));
+ }
+
+ [Test]
+ [Ignore("This test is an integration test which can only be run with user interaction")]
+ public async Task AuthenticateWithBrowserSingleTenantAsync()
+ {
+ var cred = new InteractiveBrowserCredential(TenantId, SingleTenantClientId);
+
+ AccessToken token = await cred.GetTokenAsync(new TokenRequestContext(new string[] { "https://vault.azure.net/.default" })).ConfigureAwait(false);
+
+ Assert.NotNull(token.Token);
+ }
+
+ [Test]
+ [Ignore("This test is an integration test which can only be run with user interaction")]
+ public async Task AuthenticateFollowedByGetTokenAsync()
+ {
+ var cred = new InteractiveBrowserCredential();
+
+ // this should pop browser
+ await cred.AuthenticateAsync();
+
+ // this should not pop browser
+ AccessToken token = await cred.GetTokenAsync(new TokenRequestContext(new string[] { "https://vault.azure.net/.default" })).ConfigureAwait(false);
+
+ Assert.NotNull(token.Token);
+ }
+
+
+ [Test]
+ [Ignore("This test is an integration test which can only be run with user interaction")]
+ public async Task AuthenticateWithSharedTokenCacheAsync()
+ {
+ var cred = new InteractiveBrowserCredential(new InteractiveBrowserCredentialOptions { EnablePersistentCache = true });
+
+ // this should pop browser
+ AuthenticationRecord record = await cred.AuthenticateAsync();
+
+ var cred2 = new InteractiveBrowserCredential(new InteractiveBrowserCredentialOptions { EnablePersistentCache = true, AuthenticationRecord = record });
+
+ // this should not pop browser
+ AccessToken token = await cred2.GetTokenAsync(new TokenRequestContext(new string[] { "https://vault.azure.net/.default" })).ConfigureAwait(false);
+
+ Assert.NotNull(token.Token);
+ }
+ }
+}
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/UsernamePasswordCredentialLiveTests/AuthenticateUsernamePasswordLive.json b/sdk/identity/Azure.Identity/tests/SessionRecords/UsernamePasswordCredentialLiveTests/AuthenticateUsernamePasswordLive.json
index 96244990da56..043132302263 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/UsernamePasswordCredentialLiveTests/AuthenticateUsernamePasswordLive.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/UsernamePasswordCredentialLiveTests/AuthenticateUsernamePasswordLive.json
@@ -4,19 +4,20 @@
"RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Fc54fac88-3dd3-461f-a7c4-8a368e0340b3%2Foauth2%2Fv2.0%2Fauthorize",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "f47942e3-79c2-4efd-b5d3-e4835b672ddc",
- "Request-Id": "00-e0826eec3f870b45917623274c3e8e00-43bd87a4c0b6cb44-00",
+ "client-request-id": "f725cb55-765e-44dd-97fa-bfa994501733",
"return-client-request-id": "true",
- "traceparent": "00-e0826eec3f870b45917623274c3e8e00-43bd87a4c0b6cb44-00",
+ "traceparent": "00-2bbd94f110c01e4781df229d08ee2c94-e880bc865bda3e4f-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20191205.1\u002B6199776c55f1aca14060674321e2899a61ce01fd",
- "(.NET Core 4.6.28008.01; Microsoft Windows 10.0.18363 )"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
+ "x-client-current-telemetry": "1|1003,0|",
+ "x-client-last-telemetry": "",
"x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "33fd0c163d049f782d2aab8e56b4fcc8",
"x-ms-return-client-request-id": "true"
},
@@ -26,21 +27,21 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "f47942e3-79c2-4efd-b5d3-e4835b672ddc",
+ "client-request-id": "f725cb55-765e-44dd-97fa-bfa994501733",
"Content-Length": "980",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Fri, 06 Dec 2019 00:35:59 GMT",
+ "Date": "Fri, 01 May 2020 17:08:50 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=ApAAL5a_CJxJtxLt4BNMmUA; expires=Sun, 05-Jan-2020 00:35:59 GMT; path=/; secure; HttpOnly; SameSite=None",
- "esctx=AQABAAAAAACQN9QBRU3jT6bcBQLZNUj7Kz3PvImNtac_HeVg0FC4vM82kK1m8yK7MG1lIO2ymfeQy35q3Badm58-TUMHJXolRtfNb4z1pJ-i_1gmLPBsOHfkuhZ-apRSjTWu8zIkniDNUGkALZbaOwtd_L44p7Ptk7qMDdMVfD-dOZlQOjGc0Tew4aaHmi89pkJ7zcarI70gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=AmntdWj2vclJplfwvOQTFxk; expires=Sun, 31-May-2020 17:08:51 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "esctx=AQABAAAAAAAm-06blBE1TpVMil8KPQ41Ft0Hb7R6E4UclRP16lx8O5Mxpz_zsZ5fgiAcpzVesWenHuapAzcaszh2KrDeIHgsX2OO-12elprk6NMrcYTJIREhhwly5ThfmYAMz6pigB43Pbqhtd9ZyOtvlpvBkT3mGIKlQmwKF1k0ZunwjDwaKSu3krq4nNMzxqadCbvmWs4gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; SameSite=None; secure; HttpOnly"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.9707.16 - WST ProdSlices",
- "x-ms-request-id": "f0401260-424c-43eb-a5bf-03995b6ed301"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "df081447-2158-4630-9e01-7a6023883200"
},
"ResponseBody": {
"tenant_discovery_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
@@ -93,19 +94,20 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "f47942e3-79c2-4efd-b5d3-e4835b672ddc",
- "Request-Id": "00-e0826eec3f870b45917623274c3e8e00-3b6ff1a9a0402f44-00",
+ "client-request-id": "f725cb55-765e-44dd-97fa-bfa994501733",
"return-client-request-id": "true",
- "traceparent": "00-e0826eec3f870b45917623274c3e8e00-3b6ff1a9a0402f44-00",
+ "traceparent": "00-2bbd94f110c01e4781df229d08ee2c94-50df67976af58d4c-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20191205.1\u002B6199776c55f1aca14060674321e2899a61ce01fd",
- "(.NET Core 4.6.28008.01; Microsoft Windows 10.0.18363 )"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
+ "x-client-current-telemetry": "1|1003,0|",
+ "x-client-last-telemetry": "",
"x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "b3bccfb96fca0a30d8f7d6b3c8ab3a55",
"x-ms-return-client-request-id": "true"
},
@@ -115,20 +117,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "f47942e3-79c2-4efd-b5d3-e4835b672ddc",
+ "client-request-id": "f725cb55-765e-44dd-97fa-bfa994501733",
"Content-Length": "1523",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Fri, 06 Dec 2019 00:35:59 GMT",
+ "Date": "Fri, 01 May 2020 17:08:50 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=ApAAL5a_CJxJtxLt4BNMmUA; expires=Sun, 05-Jan-2020 00:36:00 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=AmntdWj2vclJplfwvOQTFxk; expires=Sun, 31-May-2020 17:08:51 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
- "stsservicecookie=ests; path=/; secure; HttpOnly"
+ "stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.9707.16 - WST ProdSlices",
- "x-ms-request-id": "d76a6053-1579-439e-86eb-327de3c7c301"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "03867cdd-3209-4bb4-8bfa-f124479b3900"
},
"ResponseBody": {
"token_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
@@ -197,18 +199,17 @@
}
},
{
- "RequestUri": "https://login.microsoftonline.com/common/userrealm/tempuser2@azuresdkplayground.onmicrosoft.com?api-version=1.0",
+ "RequestUri": "https://login.microsoftonline.com/common/userrealm/testuser@azuresdkplayground.onmicrosoft.com?api-version=1.0",
"RequestMethod": "GET",
"RequestHeaders": {
- "Request-Id": "00-e0826eec3f870b45917623274c3e8e00-83074f805782fe48-00",
- "traceparent": "00-e0826eec3f870b45917623274c3e8e00-83074f805782fe48-00",
+ "traceparent": "00-2bbd94f110c01e4781df229d08ee2c94-e51de99383a3c346-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20191205.1\u002B6199776c55f1aca14060674321e2899a61ce01fd",
- "(.NET Core 4.6.28008.01; Microsoft Windows 10.0.18363 )"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "b556633aa52b6b5609aed00dc86cd1f8",
"x-ms-return-client-request-id": "true"
},
@@ -219,19 +220,19 @@
"Content-Disposition": "inline; filename=userrealm.json",
"Content-Length": "187",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Fri, 06 Dec 2019 00:35:59 GMT",
+ "Date": "Fri, 01 May 2020 17:08:50 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=ApAAL5a_CJxJtxLt4BNMmUA; expires=Sun, 05-Jan-2020 00:36:00 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=AmntdWj2vclJplfwvOQTFxk; expires=Sun, 31-May-2020 17:08:51 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
- "stsservicecookie=ests; path=/; secure; HttpOnly"
+ "stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.9707.16 - WST ProdSlices",
- "x-ms-request-id": "36bb85fb-f615-422d-8561-49fb1001c501"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "bf0e4b46-b0ee-4a79-8a17-00778fb43f00"
},
"ResponseBody": {
"ver": "1.0",
@@ -245,20 +246,21 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "f47942e3-79c2-4efd-b5d3-e4835b672ddc",
+ "client-request-id": "f725cb55-765e-44dd-97fa-bfa994501733",
"Content-Length": "9",
- "Request-Id": "00-e0826eec3f870b45917623274c3e8e00-4435b5290fdb2d42-00",
"return-client-request-id": "true",
- "traceparent": "00-e0826eec3f870b45917623274c3e8e00-4435b5290fdb2d42-00",
+ "traceparent": "00-2bbd94f110c01e4781df229d08ee2c94-59ef276b8db3ee46-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20191205.1\u002B6199776c55f1aca14060674321e2899a61ce01fd",
- "(.NET Core 4.6.28008.01; Microsoft Windows 10.0.18363 )"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
+ "x-client-current-telemetry": "1|1003,0|",
+ "x-client-last-telemetry": "",
"x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "c1b89239168aa78edbf25b0c67c5d681",
"x-ms-return-client-request-id": "true"
},
@@ -266,39 +268,40 @@
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "f47942e3-79c2-4efd-b5d3-e4835b672ddc",
- "Content-Length": "3691",
+ "client-request-id": "f725cb55-765e-44dd-97fa-bfa994501733",
+ "Content-Length": "1512",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Fri, 06 Dec 2019 00:36:00 GMT",
+ "Date": "Fri, 01 May 2020 17:08:51 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=ApAAL5a_CJxJtxLt4BNMmUCkbPf3AQAAAHGZe9UOAAAA; expires=Sun, 05-Jan-2020 00:36:01 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=AmntdWj2vclJplfwvOQTFxl3OZTPAQAAAKNOPtYOAAAA; expires=Sun, 31-May-2020 17:08:52 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
- "stsservicecookie=ests; path=/; secure; HttpOnly"
+ "stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
"x-ms-clitelem": "1,0,0,,",
- "x-ms-ests-server": "2.1.9707.16 - WST ProdSlices",
- "x-ms-request-id": "e573f2b8-e4f3-429d-b6ba-7a4260bac901"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "981efc89-f3e9-4d41-8778-5f3c51973f00"
},
"ResponseBody": {
"token_type": "Bearer",
"scope": "https://vault.azure.net/user_impersonation https://vault.azure.net/.default",
- "expires_in": 3600,
- "ext_expires_in": 3600,
+ "expires_in": 3599,
+ "ext_expires_in": 3599,
"access_token": "Sanitized",
"refresh_token": "Sanitized",
- "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkJCOENlRlZxeWFHckdOdWVoSklpTDRkZmp6dyJ9.eyJhdWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1NzU1OTIyNjEsIm5iZiI6MTU3NTU5MjI2MSwiZXhwIjoxNTc1NTk2MTYxLCJhaW8iOiJBVFFBeS84TkFBQUFHUVI2YkVoK3FTOENxOHBJVDllZjNhNmNHd0RvcURUYm94ZWFTd2RRSWM5d3U0dkhrVG96Y05WYmNWU1E0ODJXIiwibmFtZSI6IlRlbXAgVXNlciAyIiwib2lkIjoiYzQ4Nzk1NDItODQxZi00MDc0LTk0MTMtZDk4MTM1MWU3MzI4IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVtcHVzZXIyQGF6dXJlc2RrcGxheWdyb3VuZC5vbm1pY3Jvc29mdC5jb20iLCJzdWIiOiJlQzZ2b2RIMjk0VUhnTThvTTN0MlRqVHZrU0NOMThiTzAyZ2dLZ09mVDljIiwidGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIiwidXRpIjoidVBKejVmUGtuVUsydW5wQ1lMckpBUSIsInZlciI6IjIuMCJ9.hPR_MzOKempTBV7s-78uXfl760LalEGEtwQqLEKvg-xDkPKkyj8x1Ig6cUrZcri4v8Uu02Bnw6mEEuhgyW0BDlbETyYIRJN6kVPvQADPWfstUa7lehUjSzZNzaTItU_AHK050Mah50TNelovN0qD7cItNtxAQ62wh-xf8RszJ25NVqd3Jdu45vkvxliTEY5CP4mnJAkKagS7uupS8tnOXF6lCS0MkZetbk4uBBfGj_-MpWISC2ZKYVghptGz2eDU76iFdZps046DsodI-IR3bwnuAWyqer78aLmaNLv_7Qkf1014UwqML8l3AhGVvw1lv_feNukgQzsdGiszej2w0w",
- "client_info": "eyJ1aWQiOiJjNDg3OTU0Mi04NDFmLTQwNzQtOTQxMy1kOTgxMzUxZTczMjgiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
+ "foci": "1",
+ "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkN0VHVoTUptRDVNN0RMZHpEMnYyeDNRS1NSWSJ9.eyJhdWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODgzNTI2MzIsIm5iZiI6MTU4ODM1MjYzMiwiZXhwIjoxNTg4MzU2NTMyLCJhaW8iOiJBVFFBeS84UEFBQUE1N1FLNmh4TzQxR2NwNXdNdXhqSDUrYnlnZlNFMzJEZnVXdTBNMnQ5SlhSZ1pja2JCNGZOcGNyb1daSlg2UDZQIiwibmFtZSI6InRlc3R1c2VyIiwib2lkIjoiMjMzNjY0ZmEtNGU5Mi00Yzg1LTg5NzctZjc4MmEyNDI1OGU0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6InppWGhoM2RGVF9ERFA2a2w4aGI0aGVVUGdmTWlJRUJmUUt6RjZIYTZuc0UiLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJpZndlbU9uelFVMkhlRjg4VVpjX0FBIiwidmVyIjoiMi4wIn0.YGepoeJxclycbeyRhBwUOEGwUluLtmm5jb_XZteNOb8-_pNvbbFudkD05t-octiWGRITa8TiDi-QEeo6kthANJ9r_ugx3dJUYhXdcWwS1sTCBTERSEnIN_QDZKxi3TVIiPOA2S5uIcXhmcQJFnjuXvlEY9SF9NHe11SaYc777hH_FS3dNMJuhJ038ETR35TqCX2KH_v15kGls42chw4iQOhAU3sB0gDg0wOBTd3OvhBar_mMC5r5TGQbK3TdejTxZJQZcP2Dv_ikmJyVzlheIi983qDAMuDwyLZsm7g80fme9vlFJ1z7pbjoUdrEzQCjgDcPJQNa4NRIghG_ahBPqg",
+ "client_info": "eyJ1aWQiOiIyMzM2NjRmYS00ZTkyLTRjODUtODk3Ny1mNzgyYTI0MjU4ZTQiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
}
}
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "AZURE_IDENTITY_TEST_USERNAME": "tempuser2@azuresdkplayground.onmicrosoft.com",
+ "AZURE_IDENTITY_TEST_USERNAME": "testuser@azuresdkplayground.onmicrosoft.com",
"RandomSeed": "1640485913"
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/UsernamePasswordCredentialLiveTests/AuthenticateUsernamePasswordLiveAsync.json b/sdk/identity/Azure.Identity/tests/SessionRecords/UsernamePasswordCredentialLiveTests/AuthenticateUsernamePasswordLiveAsync.json
index 14f140f16afd..29a704a35c9c 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/UsernamePasswordCredentialLiveTests/AuthenticateUsernamePasswordLiveAsync.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/UsernamePasswordCredentialLiveTests/AuthenticateUsernamePasswordLiveAsync.json
@@ -4,19 +4,20 @@
"RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Fc54fac88-3dd3-461f-a7c4-8a368e0340b3%2Foauth2%2Fv2.0%2Fauthorize",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "8782d97a-0eaa-4a83-81b1-cc6a4af871d5",
- "Request-Id": "00-0763ddb813691f4392fc61a454fe3e1c-04250c9ba0b92e43-00",
+ "client-request-id": "188d06c2-35ac-42bb-acaa-75e939f64965",
"return-client-request-id": "true",
- "traceparent": "00-0763ddb813691f4392fc61a454fe3e1c-04250c9ba0b92e43-00",
+ "traceparent": "00-0ee4e59871e75d468cf4182eef387198-bd5b6ea073d73d46-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20191205.1\u002B6199776c55f1aca14060674321e2899a61ce01fd",
- "(.NET Core 4.6.28008.01; Microsoft Windows 10.0.18363 )"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
+ "x-client-current-telemetry": "1|1003,0|",
+ "x-client-last-telemetry": "",
"x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "04abe87d1e994cd9c8ffaf86d1a5283b",
"x-ms-return-client-request-id": "true"
},
@@ -26,20 +27,21 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "8782d97a-0eaa-4a83-81b1-cc6a4af871d5",
+ "client-request-id": "188d06c2-35ac-42bb-acaa-75e939f64965",
"Content-Length": "980",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Fri, 06 Dec 2019 00:36:02 GMT",
+ "Date": "Fri, 01 May 2020 17:08:42 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=ApAAL5a_CJxJtxLt4BNMmUCkbPf3AQAAAHGZe9UOAAAA; expires=Sun, 05-Jan-2020 00:36:02 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=AnsVsjaSN-xMizwKStJWKiM; expires=Sun, 31-May-2020 17:08:43 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "esctx=AQABAAAAAAAm-06blBE1TpVMil8KPQ41HAuLoLfUm47s75M2aurDzb7w_AekMyt4PQLGUO3fXjN09SBX0zDNYhMyMOwVN2q4OcEJmlNmS6xOAmymuObK_8m0Rib-lvcCcwqEcYQW9ItGaJL7dEDZNRGNONM9uxD_pAYDCwPk1w9RAMYZAR-8oQEJmK2ogbifdTyLsfd2AIsgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
- "stsservicecookie=ests; path=/; secure; HttpOnly"
+ "stsservicecookie=ests; path=/; SameSite=None; secure; HttpOnly"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.9707.16 - WST ProdSlices",
- "x-ms-request-id": "00ce3f26-0f8b-47e3-8b6c-2cb6befbca01"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "0e02bbcb-c6b5-497a-b12f-af22c8144000"
},
"ResponseBody": {
"tenant_discovery_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
@@ -89,41 +91,148 @@
}
},
{
- "RequestUri": "https://login.microsoftonline.com/common/userrealm/tempuser2@azuresdkplayground.onmicrosoft.com?api-version=1.0",
+ "RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "Request-Id": "00-0763ddb813691f4392fc61a454fe3e1c-b57ad3f86e624245-00",
- "traceparent": "00-0763ddb813691f4392fc61a454fe3e1c-b57ad3f86e624245-00",
+ "client-request-id": "188d06c2-35ac-42bb-acaa-75e939f64965",
+ "return-client-request-id": "true",
+ "traceparent": "00-0ee4e59871e75d468cf4182eef387198-28e48dc880c1f447-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20191205.1\u002B6199776c55f1aca14060674321e2899a61ce01fd",
- "(.NET Core 4.6.28008.01; Microsoft Windows 10.0.18363 )"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
+ "x-app-name": "UnknownClient",
+ "x-app-ver": "0.0.0.0",
+ "x-client-current-telemetry": "1|1003,0|",
+ "x-client-last-telemetry": "",
"x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "a6f0ba89f608dba8a1208003edc07d6b",
"x-ms-return-client-request-id": "true"
},
"RequestBody": null,
"StatusCode": 200,
+ "ResponseHeaders": {
+ "Access-Control-Allow-Methods": "GET, OPTIONS",
+ "Access-Control-Allow-Origin": "*",
+ "Cache-Control": "max-age=86400, private",
+ "client-request-id": "188d06c2-35ac-42bb-acaa-75e939f64965",
+ "Content-Length": "1523",
+ "Content-Type": "application/json; charset=utf-8",
+ "Date": "Fri, 01 May 2020 17:08:42 GMT",
+ "P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
+ "Set-Cookie": [
+ "fpc=AnsVsjaSN-xMizwKStJWKiM; expires=Sun, 31-May-2020 17:08:43 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
+ "stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
+ ],
+ "Strict-Transport-Security": "max-age=31536000; includeSubDomains",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "a8217829-7513-4236-ae51-70f7c66b3f00"
+ },
+ "ResponseBody": {
+ "token_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
+ "token_endpoint_auth_methods_supported": [
+ "client_secret_post",
+ "private_key_jwt",
+ "client_secret_basic"
+ ],
+ "jwks_uri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/discovery/v2.0/keys",
+ "response_modes_supported": [
+ "query",
+ "fragment",
+ "form_post"
+ ],
+ "subject_types_supported": [
+ "pairwise"
+ ],
+ "id_token_signing_alg_values_supported": [
+ "RS256"
+ ],
+ "response_types_supported": [
+ "code",
+ "id_token",
+ "code id_token",
+ "id_token token"
+ ],
+ "scopes_supported": [
+ "openid",
+ "profile",
+ "email",
+ "offline_access"
+ ],
+ "issuer": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0",
+ "request_uri_parameter_supported": false,
+ "userinfo_endpoint": "https://graph.microsoft.com/oidc/userinfo",
+ "authorization_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/authorize",
+ "http_logout_supported": true,
+ "frontchannel_logout_supported": true,
+ "end_session_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/logout",
+ "claims_supported": [
+ "sub",
+ "iss",
+ "cloud_instance_name",
+ "cloud_instance_host_name",
+ "cloud_graph_host_name",
+ "msgraph_host",
+ "aud",
+ "exp",
+ "iat",
+ "auth_time",
+ "acr",
+ "nonce",
+ "preferred_username",
+ "name",
+ "tid",
+ "ver",
+ "at_hash",
+ "c_hash",
+ "email"
+ ],
+ "tenant_region_scope": "NA",
+ "cloud_instance_name": "microsoftonline.com",
+ "cloud_graph_host_name": "graph.windows.net",
+ "msgraph_host": "graph.microsoft.com",
+ "rbac_url": "https://pas.windows.net"
+ }
+ },
+ {
+ "RequestUri": "https://login.microsoftonline.com/common/userrealm/testuser@azuresdkplayground.onmicrosoft.com?api-version=1.0",
+ "RequestMethod": "GET",
+ "RequestHeaders": {
+ "traceparent": "00-0ee4e59871e75d468cf4182eef387198-040a7dcc2393c746-00",
+ "User-Agent": [
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
+ ],
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
+ "x-client-SKU": "MSAL.NetCore",
+ "x-client-Ver": "4.10.0.0",
+ "x-ms-client-request-id": "ffe420794f0581b0ba5b7c2af67b3447",
+ "x-ms-return-client-request-id": "true"
+ },
+ "RequestBody": null,
+ "StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
"Content-Disposition": "inline; filename=userrealm.json",
"Content-Length": "187",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Fri, 06 Dec 2019 00:36:02 GMT",
+ "Date": "Fri, 01 May 2020 17:08:42 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=ApAAL5a_CJxJtxLt4BNMmUCkbPf3AQAAAHGZe9UOAAAA; expires=Sun, 05-Jan-2020 00:36:02 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=AnsVsjaSN-xMizwKStJWKiM; expires=Sun, 31-May-2020 17:08:43 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
- "stsservicecookie=ests; path=/; secure; HttpOnly"
+ "stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.9707.16 - WST ProdSlices",
- "x-ms-request-id": "36bb85fb-f615-422d-8561-49fb3301c501"
+ "x-ms-ests-server": "2.1.10476.10 - WUS2 ProdSlices",
+ "x-ms-request-id": "214668ad-7872-4c66-aca5-823a9aee2500"
},
"ResponseBody": {
"ver": "1.0",
@@ -137,44 +246,45 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "8782d97a-0eaa-4a83-81b1-cc6a4af871d5",
+ "client-request-id": "188d06c2-35ac-42bb-acaa-75e939f64965",
"Content-Length": "9",
- "Request-Id": "00-0763ddb813691f4392fc61a454fe3e1c-78b238704f681140-00",
"return-client-request-id": "true",
- "traceparent": "00-0763ddb813691f4392fc61a454fe3e1c-78b238704f681140-00",
+ "traceparent": "00-0ee4e59871e75d468cf4182eef387198-02621dcc0ec7f14a-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20191205.1\u002B6199776c55f1aca14060674321e2899a61ce01fd",
- "(.NET Core 4.6.28008.01; Microsoft Windows 10.0.18363 )"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
+ "x-client-current-telemetry": "1|1003,0|",
+ "x-client-last-telemetry": "",
"x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
- "x-ms-client-request-id": "ffe420794f0581b0ba5b7c2af67b3447",
+ "x-client-Ver": "4.10.0.0",
+ "x-ms-client-request-id": "1e59d6c1dddc87f13fcf62789dd55f07",
"x-ms-return-client-request-id": "true"
},
"RequestBody": "U2FuaXRpemVk",
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "8782d97a-0eaa-4a83-81b1-cc6a4af871d5",
- "Content-Length": "3691",
+ "client-request-id": "188d06c2-35ac-42bb-acaa-75e939f64965",
+ "Content-Length": "1512",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Fri, 06 Dec 2019 00:36:02 GMT",
+ "Date": "Fri, 01 May 2020 17:08:43 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=ApAAL5a_CJxJtxLt4BNMmUCkbPf3AgAAAHGZe9UOAAAA; expires=Sun, 05-Jan-2020 00:36:02 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=AnsVsjaSN-xMizwKStJWKiN3OZTPAQAAAJpOPtYOAAAA; expires=Sun, 31-May-2020 17:08:43 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
- "stsservicecookie=ests; path=/; secure; HttpOnly"
+ "stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
"x-ms-clitelem": "1,0,0,,",
- "x-ms-ests-server": "2.1.9707.16 - WST ProdSlices",
- "x-ms-request-id": "00d1b219-0e1c-4f5a-9959-7322f59ecc01"
+ "x-ms-ests-server": "2.1.10476.10 - WUS2 ProdSlices",
+ "x-ms-request-id": "214668ad-7872-4c66-aca5-823a9eee2500"
},
"ResponseBody": {
"token_type": "Bearer",
@@ -183,14 +293,15 @@
"ext_expires_in": 3599,
"access_token": "Sanitized",
"refresh_token": "Sanitized",
- "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkJCOENlRlZxeWFHckdOdWVoSklpTDRkZmp6dyJ9.eyJhdWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1NzU1OTIyNjIsIm5iZiI6MTU3NTU5MjI2MiwiZXhwIjoxNTc1NTk2MTYyLCJhaW8iOiJBVFFBeS84TkFBQUFlVTRSRVNjQkdLTE1uNmg2OEhYSEFFUmdEQnJFNUpzMGlnMlo5YnVvZUVaNURnTlNoUDQ2VCtvN3podW5qdTVzIiwibmFtZSI6IlRlbXAgVXNlciAyIiwib2lkIjoiYzQ4Nzk1NDItODQxZi00MDc0LTk0MTMtZDk4MTM1MWU3MzI4IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVtcHVzZXIyQGF6dXJlc2RrcGxheWdyb3VuZC5vbm1pY3Jvc29mdC5jb20iLCJzdWIiOiJlQzZ2b2RIMjk0VUhnTThvTTN0MlRqVHZrU0NOMThiTzAyZ2dLZ09mVDljIiwidGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIiwidXRpIjoiR2JMUkFCd09Xay1aV1hNaTlaN01BUSIsInZlciI6IjIuMCJ9.FjTnpv0bVqEu7SCh_dFyINyjOyG4xGYrUxZ3905SJH1628IjxcUqa6ZFBgS9K1I5jpb9I2OVuZcN3n0IgLjNf31eATqQwZwK2C7eBC6aBI6TG5xoCOId136JzHt4jeXSFUR1DEkb2jZOmYHhDNWjbW-aip0jdWVY4HMJPaSm-fCvlOwt51kPFQpNEXBuXycw1xaT9ia0wqPHxaLMBGV2CRIaMlPDLQqPmwqZ-pu1OPt-bd7w1C3ca-Wr-TTlKPLjvS0UUowMU5Fe28eGvqTcR6UvYvJtEMGhfdIRRkAGDl1AqUJjOICESGkqtP4p6TvC0waOMQlKUtCD97BmUcbwEQ",
- "client_info": "eyJ1aWQiOiJjNDg3OTU0Mi04NDFmLTQwNzQtOTQxMy1kOTgxMzUxZTczMjgiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
+ "foci": "1",
+ "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkN0VHVoTUptRDVNN0RMZHpEMnYyeDNRS1NSWSJ9.eyJhdWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODgzNTI2MjMsIm5iZiI6MTU4ODM1MjYyMywiZXhwIjoxNTg4MzU2NTIzLCJhaW8iOiJBVFFBeS84UEFBQUFSWEhiZWE2aGZlUmN4bU1YNkpuZG1LUGtUS3pNL3JZRlQ2NmFyNU42eXpQUStTdWgxdGErL2VHVk9XNmh2aTBpIiwibmFtZSI6InRlc3R1c2VyIiwib2lkIjoiMjMzNjY0ZmEtNGU5Mi00Yzg1LTg5NzctZjc4MmEyNDI1OGU0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6InppWGhoM2RGVF9ERFA2a2w4aGI0aGVVUGdmTWlJRUJmUUt6RjZIYTZuc0UiLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJyV2hHSVhKNFpreXNwWUk2bnU0bEFBIiwidmVyIjoiMi4wIn0.NFZ7qi-zBZXCFssfQXx-MGHIRlrDvLRAqH13DMcM1q0OgqVkJ_UCw47XRegl1zks4fseW6BHc32pTlt1QaebmX9rKEjM3eV470hcb0cXB-OXQdG2yNdx95HOB6gTjavn9W9-476R7suGJpYf_nmF-Pn_2E9bykLkPsLgL55ygCdlBpE8mBB_CRt4FJIzKl0s45wUeksx0pmEssjdWcpdqu8OA5vaLbnScTGYcKTQyRyV8LLTe4RpHcC9i6SkukTNtfoirq7VwRqAqIh77sLPC8RpeGfLVRKZb7vuB8CIh8QzioWSOkTqWjVj9pP6OC6qRWqjlL7_epfLBCJ9xjLpBA",
+ "client_info": "eyJ1aWQiOiIyMzM2NjRmYS00ZTkyLTRjODUtODk3Ny1mNzgyYTI0MjU4ZTQiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
}
}
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "AZURE_IDENTITY_TEST_USERNAME": "tempuser2@azuresdkplayground.onmicrosoft.com",
+ "AZURE_IDENTITY_TEST_USERNAME": "testuser@azuresdkplayground.onmicrosoft.com",
"RandomSeed": "2008179389"
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential.json
index e62c0d071f00..81d7a5f3fc8a 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential.json
@@ -4,18 +4,20 @@
"RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Fc54fac88-3dd3-461f-a7c4-8a368e0340b3%2Foauth2%2Fv2.0%2Fauthorize",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "1a732f34-30f8-4e6d-ab46-d4e9ac3ff6b5",
+ "client-request-id": "abf9958d-4b7f-4d0b-b9c1-dc1de56586a6",
"return-client-request-id": "true",
- "traceparent": "00-e74f7d12082873418d2cff25dc3f8d9d-05a1725860e5f947-00",
+ "traceparent": "00-b8790dd786061945b5b6857765e52d02-4331f3e88d1d574a-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "2922e79c517fdf8a3c060ffa683dd147",
"x-ms-return-client-request-id": "true"
},
@@ -25,21 +27,21 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "1a732f34-30f8-4e6d-ab46-d4e9ac3ff6b5",
+ "client-request-id": "abf9958d-4b7f-4d0b-b9c1-dc1de56586a6",
"Content-Length": "980",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:38 GMT",
+ "Date": "Fri, 01 May 2020 17:04:57 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcU; expires=Fri, 01-May-2020 15:56:38 GMT; path=/; secure; HttpOnly; SameSite=None",
- "esctx=AQABAAAAAAAm-06blBE1TpVMil8KPQ41h9jW8Y95qDHWQxrd0pMkwt3V5coOHWQjWrweI-olGZjwVgVzLApfFeKwjt5YUJnVq5A_S5hQv-FBftjz0_LA82BPXHVsFt7bW7eaJODxehDtbqvEp1t5GRRbiPo2yUeQ63O-muvnn4GZ58CGanOTOUiNtbEBSAHYGcEEQ-5OK74gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT44; expires=Sun, 31-May-2020 17:04:58 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "esctx=AQABAAAAAAAm-06blBE1TpVMil8KPQ41u3jLAgWes68b8olSQoEiPkA12EhWhgvyBoNnT9HvxA-P5nrMtCBfcrrZZlOXBSTbQADysX-t5lc8PZpymWJARqTpp3BByZbKC3WmZN1rYKFYAu63IwCiSvNTEbKzOh51pAl-DOU0uBprhzEYoHeuzx2TISynhkT9UfCKl9Z50K8gAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; SameSite=None; secure; HttpOnly"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "7f47e78d-3085-49e9-bb36-3cce42784b00"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "98b39d3a-83a3-4334-a436-e91809ff4300"
},
"ResponseBody": {
"tenant_discovery_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
@@ -92,18 +94,20 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "1a732f34-30f8-4e6d-ab46-d4e9ac3ff6b5",
+ "client-request-id": "abf9958d-4b7f-4d0b-b9c1-dc1de56586a6",
"return-client-request-id": "true",
- "traceparent": "00-e74f7d12082873418d2cff25dc3f8d9d-ead38ea20d1a9c4c-00",
+ "traceparent": "00-b8790dd786061945b5b6857765e52d02-ae9a4fcb7c48ec4f-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "5bb30c46884590149c8d8c0159919a24",
"x-ms-return-client-request-id": "true"
},
@@ -113,20 +117,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "1a732f34-30f8-4e6d-ab46-d4e9ac3ff6b5",
+ "client-request-id": "abf9958d-4b7f-4d0b-b9c1-dc1de56586a6",
"Content-Length": "1523",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:38 GMT",
+ "Date": "Fri, 01 May 2020 17:04:57 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcU; expires=Fri, 01-May-2020 15:56:38 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT44; expires=Sun, 31-May-2020 17:04:58 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "841eba84-8a6c-431b-b032-7284668f5200"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "834c0140-202d-41ff-a2a7-b856c9cc3700"
},
"ResponseBody": {
"token_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
@@ -198,19 +202,21 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "1a732f34-30f8-4e6d-ab46-d4e9ac3ff6b5",
+ "client-request-id": "abf9958d-4b7f-4d0b-b9c1-dc1de56586a6",
"Content-Length": "9",
"return-client-request-id": "true",
- "traceparent": "00-e74f7d12082873418d2cff25dc3f8d9d-599fcff8a8c74644-00",
+ "traceparent": "00-b8790dd786061945b5b6857765e52d02-1fd63ab2224ff042-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "a642545434245438e18b377bc68f677b",
"x-ms-return-client-request-id": "true"
},
@@ -218,23 +224,23 @@
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "1a732f34-30f8-4e6d-ab46-d4e9ac3ff6b5",
- "Content-Length": "4106",
+ "client-request-id": "abf9958d-4b7f-4d0b-b9c1-dc1de56586a6",
+ "Content-Length": "1548",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:38 GMT",
+ "Date": "Fri, 01 May 2020 17:04:57 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiAQAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:39 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaAQAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:04:58 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-clitelem": "1,0,0,763.4106,",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "324ef248-0303-4815-a773-a58eb8d55300"
+ "x-ms-clitelem": "1,0,0,1095.0245,",
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "b923f9c2-2428-4ced-a852-a6567a7a3300"
},
"ResponseBody": {
"token_type": "Bearer",
@@ -243,13 +249,15 @@
"ext_expires_in": 3599,
"access_token": "Sanitized",
"refresh_token": "Sanitized",
- "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODU3NTYyOTgsIm5iZiI6MTU4NTc1NjI5OCwiZXhwIjoxNTg1NzYwMTk4LCJhaW8iOiJBVFFBeS84UEFBQUFuZ2hZWHZoT0ZvS0J3NkpFUGxPMUN2VjFrQjBpa2RFaU1OOXpybWY0cDkwVzEyc1F6aVhNOTZxUkNIS0pPNXBhIiwibmFtZSI6IklkZW50aXR5IFRlc3QgVXNlciIsIm9pZCI6IjQyZDhlODg0LTI2NWEtNGNkNC05MDg5LTRjM2JjNDBhZjE4MyIsInByZWZlcnJlZF91c2VybmFtZSI6ImlkZW50aXR5dGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IldtbG55VUdGOFN5SnR4dDJzMTZ2TGYtaWEwVE9TZENOTFBHc3R6X1RsYVUiLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJTUEpPTWdNREZVaW5jNldPdU5WVEFBIiwidmVyIjoiMi4wIn0.ksrxgLNFsCOHiJX_zp2oOHrBi2SppdyKZsN-Vs4ukRzyFKLI2S1p72lgZ07RhvBK5iFupPgq9nb5h4fuuj76Tzav3O31WI9YHSWLn8MgTL1mygcnRJj8s6qGfExmcNjP82cDX4PEYZt20vf-WK9nlveiXdCwC7JPVhrB4Xf9H0NvnKRlb3cm-M9cclr_uknvauMjig32W_KoOOUC8odxjtNAFuDIxc0Kz1KLEDL0ob3EzF_3EhVmKU4EFmn5AShdBIMY_kEVovG2t4tqUNFziYP2CVvHtJGLUZUlcskItOWCrY6x2TvUzitNKHYXbTPGBU-P_URo3jzt5OXkYQ7SXg",
- "client_info": "eyJ1aWQiOiI0MmQ4ZTg4NC0yNjVhLTRjZDQtOTA4OS00YzNiYzQwYWYxODMiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
+ "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkN0VHVoTUptRDVNN0RMZHpEMnYyeDNRS1NSWSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODgzNTIzOTgsIm5iZiI6MTU4ODM1MjM5OCwiZXhwIjoxNTg4MzU2Mjk4LCJhaW8iOiJBVFFBeS84UEFBQUFSQS9kUVZpVGwraytwQ2xnU3FvQTVwdVVhV3NiZHZGNlp0anBHdW9IdHBsaDVicE1sOWZFQVRqRzhBQ0pVRkpjIiwibmFtZSI6InRlc3R1c2VyIiwib2lkIjoiMjMzNjY0ZmEtNGU5Mi00Yzg1LTg5NzctZjc4MmEyNDI1OGU0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IllnU3RpSl9pMThLYjlBankzcGtTc29nWWVnMkJwSGxWckQyVGZkSGFRMmciLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJ3dmtqdVNnazdVeW9VcVpXZW5vekFBIiwidmVyIjoiMi4wIn0.QhMrIBN_9uLGQ4y7qdy1wfGM6ADHD12vawFi2L0k4NrgtKSv_M_npFtrOjFjJg48VHeBNcyT_qvoQe2p22QiyALlBO0afoKGLR033Kx4FbJABDXwF6z8hjtjsDqBMBI62wqK2N7qXRchjpu4H0pRmujK2PNqiCl0nF3UrV6l6l896hBS4IGWnMKr5x-NTdAwnJQmRYVwAXXSurxOzr9xsuGIeCCWg6ATihg3x6x3w5QEg1XpryDO7PDnvc3xfN9l1W0T_wntW6sbE60vgBH-H_KYQKSb_9k1HTOBPp6y-0qN6FSOjw-FUik-CzytvlVTrTfvw3EtiPplH7BorFeIRg",
+ "client_info": "eyJ1aWQiOiIyMzM2NjRmYS00ZTkyLTRjODUtODk3Ny1mNzgyYTI0MjU4ZTQiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
}
}
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "621468287"
+ "AZURE_IDENTITY_TEST_USERNAME": "testuser@azuresdkplayground.onmicrosoft.com",
+ "RandomSeed": "621468287",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredentialAsync.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredentialAsync.json
index 62c66e780e06..d2c86ce91634 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredentialAsync.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredentialAsync.json
@@ -4,18 +4,20 @@
"RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Fc54fac88-3dd3-461f-a7c4-8a368e0340b3%2Foauth2%2Fv2.0%2Fauthorize",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "c1de98a1-1394-4f65-85cd-f8c7208d4470",
+ "client-request-id": "ebcc2233-95ff-4f0c-8ed2-ef4d99ebfca6",
"return-client-request-id": "true",
- "traceparent": "00-b23d05a9778e374c9646a2991fcb844c-87333932bcd7c745-00",
+ "traceparent": "00-a0d21553535e654e939bd99997e12f44-9446aced531e9544-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "2df47badcc1973b4e2e683b8d12546a0",
"x-ms-return-client-request-id": "true"
},
@@ -25,21 +27,21 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "c1de98a1-1394-4f65-85cd-f8c7208d4470",
+ "client-request-id": "ebcc2233-95ff-4f0c-8ed2-ef4d99ebfca6",
"Content-Length": "980",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 18:08:33 GMT",
+ "Date": "Fri, 01 May 2020 17:04:32 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=Ah_OXNIG7XFLrvIak3sSlr4; expires=Fri, 01-May-2020 18:08:34 GMT; path=/; secure; HttpOnly; SameSite=None",
- "esctx=AQABAAAAAAAm-06blBE1TpVMil8KPQ411VhjviMGW07eVlYuP5bzAOEyB573lJxd_le-mpKFVEI-A9i7dqyYgnQjl0bfG-mf2H2TaPnKcSh0R9CcZPRqo5WdyEOr90cjh1IWAumyMlJfJrIvhoQnZbGYovVplN-F8ytippbdXOXdXlPaFN41RHCBKaM0i912IdDtASMWbMcgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QQ; expires=Sun, 31-May-2020 17:04:32 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "esctx=AQABAAAAAAAm-06blBE1TpVMil8KPQ41EMTxvouTnHvU6aR-PRu87E9zv6j-dPCGd1ATdPiYqYutPLt2oyaVVDgt1oIkZICUoE-YFojEt52hlaXUcOZR_YwRtX1b9WnpaYVtPZ9VPv4rFaITiiExTTc3cZG6vnRh6h-nhEwYC-nTqEZuMRqS1xwKO-ButNpm1gmWLXas0FkgAA; domain=.login.microsoftonline.com; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; SameSite=None; secure; HttpOnly"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "69adb4eb-6ec0-4e99-88a5-bc02cd065b00"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "48a00b3d-5d90-4e4d-899b-40e491743d00"
},
"ResponseBody": {
"tenant_discovery_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
@@ -92,18 +94,20 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "c1de98a1-1394-4f65-85cd-f8c7208d4470",
+ "client-request-id": "ebcc2233-95ff-4f0c-8ed2-ef4d99ebfca6",
"return-client-request-id": "true",
- "traceparent": "00-b23d05a9778e374c9646a2991fcb844c-f34e8de7a284794e-00",
+ "traceparent": "00-a0d21553535e654e939bd99997e12f44-3547624c7575b24c-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "2ccc2d93d10c4ccd019bf804d48bd946",
"x-ms-return-client-request-id": "true"
},
@@ -113,20 +117,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "c1de98a1-1394-4f65-85cd-f8c7208d4470",
+ "client-request-id": "ebcc2233-95ff-4f0c-8ed2-ef4d99ebfca6",
"Content-Length": "1523",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 18:08:33 GMT",
+ "Date": "Fri, 01 May 2020 17:04:32 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=Ah_OXNIG7XFLrvIak3sSlr4; expires=Fri, 01-May-2020 18:08:34 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QQ; expires=Sun, 31-May-2020 17:04:33 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "fd0fd6ed-ed42-43ab-af2c-220fc2765800"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "fcf29aa1-93f3-4b1c-b9dc-d90ac2503300"
},
"ResponseBody": {
"token_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
@@ -198,19 +202,21 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "c1de98a1-1394-4f65-85cd-f8c7208d4470",
+ "client-request-id": "ebcc2233-95ff-4f0c-8ed2-ef4d99ebfca6",
"Content-Length": "9",
"return-client-request-id": "true",
- "traceparent": "00-b23d05a9778e374c9646a2991fcb844c-ab65f279f8aa7a40-00",
+ "traceparent": "00-a0d21553535e654e939bd99997e12f44-d0b99a1100f35a4a-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "1eec6d7d75d6e58b1a6859112af87d94",
"x-ms-return-client-request-id": "true"
},
@@ -218,23 +224,23 @@
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "c1de98a1-1394-4f65-85cd-f8c7208d4470",
- "Content-Length": "4112",
+ "client-request-id": "ebcc2233-95ff-4f0c-8ed2-ef4d99ebfca6",
+ "Content-Length": "1548",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 18:08:33 GMT",
+ "Date": "Fri, 01 May 2020 17:04:32 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=Ah_OXNIG7XFLrvIak3sSlr5lEICiAQAAAKLPFtYOAAAA; expires=Fri, 01-May-2020 18:08:34 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaAQAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:33 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-clitelem": "1,0,0,656.1021,",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "33b3e92d-9aef-4896-975f-47ef692c4800"
+ "x-ms-clitelem": "1,0,0,1112.4261,",
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "840af454-f7d1-4f78-a581-c6f957113e00"
},
"ResponseBody": {
"token_type": "Bearer",
@@ -243,13 +249,15 @@
"ext_expires_in": 3599,
"access_token": "Sanitized",
"refresh_token": "Sanitized",
- "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODU3NjQyMTQsIm5iZiI6MTU4NTc2NDIxNCwiZXhwIjoxNTg1NzY4MTE0LCJhaW8iOiJBVFFBeS84UEFBQUE4THRzUnAvQzhpdktpNW1OU2tCNFdhczkyYWQzTTY2VkFSM0xhYk1lWFA0enVYVnBYUFZIdzZ6WFNYdXF0YTFyIiwibmFtZSI6IklkZW50aXR5IFRlc3QgVXNlciIsIm9pZCI6IjQyZDhlODg0LTI2NWEtNGNkNC05MDg5LTRjM2JjNDBhZjE4MyIsInByZWZlcnJlZF91c2VybmFtZSI6ImlkZW50aXR5dGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IldtbG55VUdGOFN5SnR4dDJzMTZ2TGYtaWEwVE9TZENOTFBHc3R6X1RsYVUiLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJMZW16TS0tYWxraVhYMGZ2YVN4SUFBIiwidmVyIjoiMi4wIn0.DVh1b7IBMeGDVuJAIQPlH-i8VJMFHB6LLxgZjoTfmsA5cR_NduigTexyWIleKPCrB2gqupNsEDnnbusYdSvMGOg1oVqC26iWX-RrUDTXjf6okd34z_m-X-N2fo5NdRRjln7u7D7LZYMfySzPlIc4_j10r2SzWKG12YPHjQwBE84sDv1c3fAmEmXL0UFC4IirN1recglrqzhcUUyMJaO39vOFjyeeEvStByeJckBuQVhWE9zxOQboE4V6FLEDLqB_H9Hvcm82RQJLT3suJa2u57f6ei9GXHzKZFSBOK7Pl1jdVZSYuh5Z-Go3qG5OcJCKPmOXO5SoA3l0op8Z3DtbPQ",
- "client_info": "eyJ1aWQiOiI0MmQ4ZTg4NC0yNjVhLTRjZDQtOTA4OS00YzNiYzQwYWYxODMiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
+ "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkN0VHVoTUptRDVNN0RMZHpEMnYyeDNRS1NSWSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODgzNTIzNzMsIm5iZiI6MTU4ODM1MjM3MywiZXhwIjoxNTg4MzU2MjczLCJhaW8iOiJBVFFBeS84UEFBQUFzSkwzVXowckVnNWJnZ1pXQlNGbnVLbkM4U0QwSC9mSkIvZzZGcnFUVXp4S25lZzlBekZCczlMaVp0WmRwWDZwIiwibmFtZSI6InRlc3R1c2VyIiwib2lkIjoiMjMzNjY0ZmEtNGU5Mi00Yzg1LTg5NzctZjc4MmEyNDI1OGU0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IllnU3RpSl9pMThLYjlBankzcGtTc29nWWVnMkJwSGxWckQyVGZkSGFRMmciLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJWUFFLaE5IM2VFLWxnY2I1VnhFLUFBIiwidmVyIjoiMi4wIn0.wfplBD3zWbsLk1ZyLaQAsl0UPY1X7alhgDLypX-wyjrhOnPG1Ho7l0b72nq8kgnLK8ZqTlakcCsG5fij4oVzyvxqXBw9RwXe2Kuf1klnvOhCCIXQliIHYKJNYgpD-3FegOi1zw6yXqoEvlOxD1akM6M_HniClP2G-6Hi8uInLkrgG9Y4ZA2PSUXv3lqgE5K0SBXeGONN614-9SgdHHcf2MH6YTRh2of66A8GcAdjDpi-WUl4L6jaUWo_2U3DYBRacZZeMtJ7mX36DJUf-Sqjn-vrap5roUBKPZx3JViP9focb3t1sfY5Fxf3b_8J5XATddnaJ21jhBtHq8-A2kPoQA",
+ "client_info": "eyJ1aWQiOiIyMzM2NjRmYS00ZTkyLTRjODUtODk3Ny1mNzgyYTI0MjU4ZTQiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
}
}
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "672667440"
+ "AZURE_IDENTITY_TEST_USERNAME": "testuser@azuresdkplayground.onmicrosoft.com",
+ "RandomSeed": "672667440",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_AuthenticationCodeInsteadOfRefreshToken.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_AuthenticationCodeInsteadOfRefreshToken.json
index aaa2600b81fc..587de0b930ab 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_AuthenticationCodeInsteadOfRefreshToken.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_AuthenticationCodeInsteadOfRefreshToken.json
@@ -2,6 +2,7 @@
"Entries": [],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "1872607964"
+ "RandomSeed": "1872607964",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_AuthenticationCodeInsteadOfRefreshTokenAsync.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_AuthenticationCodeInsteadOfRefreshTokenAsync.json
index 0329e5a30686..0019376dd6a7 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_AuthenticationCodeInsteadOfRefreshTokenAsync.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_AuthenticationCodeInsteadOfRefreshTokenAsync.json
@@ -2,6 +2,7 @@
"Entries": [],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "1710709823"
+ "RandomSeed": "1710709823",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_BrokenSettingsFile.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_BrokenSettingsFile.json
index 3fee2dbdc969..f06c743e6453 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_BrokenSettingsFile.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_BrokenSettingsFile.json
@@ -4,18 +4,20 @@
"RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Fc54fac88-3dd3-461f-a7c4-8a368e0340b3%2Foauth2%2Fv2.0%2Fauthorize",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "c1cb9255-f810-474d-9cdc-817e4c61763c",
+ "client-request-id": "084071e1-70a4-4f9b-a0ab-4031731fae43",
"return-client-request-id": "true",
- "traceparent": "00-c0793d1b96a11a409fc23736303d9617-b49eed2446c1774e-00",
+ "traceparent": "00-4f2d7ae5f3b0ed439a778337b108fd4d-3d82227a5178164c-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "dc244e5b5371dd01a4da46a4060a75fd",
"x-ms-return-client-request-id": "true"
},
@@ -25,20 +27,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "c1cb9255-f810-474d-9cdc-817e4c61763c",
+ "client-request-id": "084071e1-70a4-4f9b-a0ab-4031731fae43",
"Content-Length": "980",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:38 GMT",
+ "Date": "Fri, 01 May 2020 17:04:58 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiAQAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:39 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaAQAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:04:59 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "111bfb3b-183f-4b7c-910f-a7f686ad4e00"
+ "x-ms-ests-server": "2.1.10476.10 - WUS2 ProdSlices",
+ "x-ms-request-id": "775aa4af-331d-4a0c-8433-28eea8432700"
},
"ResponseBody": {
"tenant_discovery_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
@@ -91,18 +93,20 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "c1cb9255-f810-474d-9cdc-817e4c61763c",
+ "client-request-id": "084071e1-70a4-4f9b-a0ab-4031731fae43",
"return-client-request-id": "true",
- "traceparent": "00-c0793d1b96a11a409fc23736303d9617-23d596216c066047-00",
+ "traceparent": "00-4f2d7ae5f3b0ed439a778337b108fd4d-a12030ddbe2c8747-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "0d39717ee0f85447c268195631055faa",
"x-ms-return-client-request-id": "true"
},
@@ -112,20 +116,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "c1cb9255-f810-474d-9cdc-817e4c61763c",
+ "client-request-id": "084071e1-70a4-4f9b-a0ab-4031731fae43",
"Content-Length": "1523",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:39 GMT",
+ "Date": "Fri, 01 May 2020 17:04:58 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiAQAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:39 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaAQAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:04:59 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "c351dbfc-543e-4581-9172-5bcd8bbc5100"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "19db96b7-95b9-42aa-804a-d47ed3803d00"
},
"ResponseBody": {
"token_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
@@ -197,19 +201,21 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "c1cb9255-f810-474d-9cdc-817e4c61763c",
+ "client-request-id": "084071e1-70a4-4f9b-a0ab-4031731fae43",
"Content-Length": "9",
"return-client-request-id": "true",
- "traceparent": "00-c0793d1b96a11a409fc23736303d9617-0fc2ad6307a5334e-00",
+ "traceparent": "00-4f2d7ae5f3b0ed439a778337b108fd4d-286f35e30f5afb42-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "339ea785a3b3f591449055276f560b3a",
"x-ms-return-client-request-id": "true"
},
@@ -217,23 +223,23 @@
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "c1cb9255-f810-474d-9cdc-817e4c61763c",
- "Content-Length": "4106",
+ "client-request-id": "084071e1-70a4-4f9b-a0ab-4031731fae43",
+ "Content-Length": "1548",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:39 GMT",
+ "Date": "Fri, 01 May 2020 17:04:58 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiAgAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:39 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaAgAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:04:59 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-clitelem": "1,0,0,339.0719,",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "7f7093fb-85bf-4674-9d2f-b0d78acb3f00"
+ "x-ms-clitelem": "1,0,0,495.6635,",
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "d42f4965-1c79-4e7e-a9a9-52bab49a3b00"
},
"ResponseBody": {
"token_type": "Bearer",
@@ -242,13 +248,15 @@
"ext_expires_in": 3599,
"access_token": "Sanitized",
"refresh_token": "Sanitized",
- "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODU3NTYyOTksIm5iZiI6MTU4NTc1NjI5OSwiZXhwIjoxNTg1NzYwMTk5LCJhaW8iOiJBVFFBeS84UEFBQUE1SGxTS3owaGZRclYvN3JJMkR6SjBLb0ZFUWc1WFlFcXYvS21tblNaOUp6ZG5aYkhKSmJmb2E5WFhrcVB6cGhqIiwibmFtZSI6IklkZW50aXR5IFRlc3QgVXNlciIsIm9pZCI6IjQyZDhlODg0LTI2NWEtNGNkNC05MDg5LTRjM2JjNDBhZjE4MyIsInByZWZlcnJlZF91c2VybmFtZSI6ImlkZW50aXR5dGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IldtbG55VUdGOFN5SnR4dDJzMTZ2TGYtaWEwVE9TZENOTFBHc3R6X1RsYVUiLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiItNU53ZjctRmRFYWRMN0RYaXNzX0FBIiwidmVyIjoiMi4wIn0.JNzLWhx_0Vsle_9AQMs7BzQyb8q8RjLq7sj46mVPoi53Hcd4mQNglEncICJW-3BQuydh9uSkavQrLj0423iV_y8e18tYR072Y6swEnhVqiyuNLZliwYBmklFQYG2otQ9D0oToNH8az6is42oIr3peFzhH19w5IW2YhGzFbLJQlAztf1xzO0zQVbqhQMLM7JjL-4P_gIMkK6fyQVK7nH2BYWqBh4dxyFsiCZmB6eALgcUfchWpMZbGHd17enBCpXuob1tGxkogAzkZerbecYX7zq-rbFEFdB08IvAU3T6HEHQvT8qRarbFrLNbv7vduVvOAb6gL1eZPKqk9xEd9OozQ",
- "client_info": "eyJ1aWQiOiI0MmQ4ZTg4NC0yNjVhLTRjZDQtOTA4OS00YzNiYzQwYWYxODMiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
+ "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkN0VHVoTUptRDVNN0RMZHpEMnYyeDNRS1NSWSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODgzNTIzOTksIm5iZiI6MTU4ODM1MjM5OSwiZXhwIjoxNTg4MzU2Mjk5LCJhaW8iOiJBVFFBeS84UEFBQUFHZ0pQUmR4SzRVVC94dElZRVdISmplU3hNUFBNR0F5NytrRVkydWpFT1JJK3lOdTZ3eFNZMDFzQzNGUXB4R25XIiwibmFtZSI6InRlc3R1c2VyIiwib2lkIjoiMjMzNjY0ZmEtNGU5Mi00Yzg1LTg5NzctZjc4MmEyNDI1OGU0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IllnU3RpSl9pMThLYjlBankzcGtTc29nWWVnMkJwSGxWckQyVGZkSGFRMmciLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJaVWt2MUhrY2ZrNnBxVks2dEpvN0FBIiwidmVyIjoiMi4wIn0.Tur-6EuevHkoZ4FqxZgUMtXPCiRHLk8wIBEHXWg-ShKjABjNqSKUG8M4YSb7cV_h13U2C0b01dMshwPOd5yrpyGc_wbTJmVlhpyswLqXmY4K6vEPw6av9DMrQFeI-0jSk8tUKmISgRDre_SrgK3c5nzs_BsW60pP9yHinOiksxAvpIfrXujxqfTrXTkiwrcAWT2zfZvtMfaBiokV7G3xY-i0pJ5hUdYbCbrUj_EtkqFs0-icfmUDqvfhGTsRi1un4yIxadxviJ-zusgBlrK0BkTuX2KKdOMwYscantu4-scnZcyRk-xkCbJIDekfoViFRuuhSYWBxS6ujDIvqAeqcQ",
+ "client_info": "eyJ1aWQiOiIyMzM2NjRmYS00ZTkyLTRjODUtODk3Ny1mNzgyYTI0MjU4ZTQiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
}
}
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "1087424336"
+ "AZURE_IDENTITY_TEST_USERNAME": "testuser@azuresdkplayground.onmicrosoft.com",
+ "RandomSeed": "1087424336",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_BrokenSettingsFileAsync.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_BrokenSettingsFileAsync.json
index df923134c562..3e004e215446 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_BrokenSettingsFileAsync.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_BrokenSettingsFileAsync.json
@@ -4,18 +4,20 @@
"RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Fc54fac88-3dd3-461f-a7c4-8a368e0340b3%2Foauth2%2Fv2.0%2Fauthorize",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "871590da-57cb-47c1-b857-776f0e7cb05a",
+ "client-request-id": "f0f1a493-dfeb-4ee3-a38d-8b8659b99818",
"return-client-request-id": "true",
- "traceparent": "00-c54d429e5da20d4da08809ee00163622-a11c47108bd35243-00",
+ "traceparent": "00-41f1d9e56271bc438ef241506c62c88c-195d0700eed78c43-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "c41dbb01316a7ce94d52af052985f3fc",
"x-ms-return-client-request-id": "true"
},
@@ -25,20 +27,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "871590da-57cb-47c1-b857-776f0e7cb05a",
+ "client-request-id": "f0f1a493-dfeb-4ee3-a38d-8b8659b99818",
"Content-Length": "980",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:42 GMT",
+ "Date": "Fri, 01 May 2020 17:04:33 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiBgAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:43 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaAQAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:33 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "79e64632-a823-441f-9db2-c8577f454400"
+ "x-ms-ests-server": "2.1.10476.10 - WUS2 ProdSlices",
+ "x-ms-request-id": "f4522e80-9bd2-4758-9e1d-31a8b1801f00"
},
"ResponseBody": {
"tenant_discovery_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
@@ -91,18 +93,20 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "871590da-57cb-47c1-b857-776f0e7cb05a",
+ "client-request-id": "f0f1a493-dfeb-4ee3-a38d-8b8659b99818",
"return-client-request-id": "true",
- "traceparent": "00-c54d429e5da20d4da08809ee00163622-b3c912ff31646643-00",
+ "traceparent": "00-41f1d9e56271bc438ef241506c62c88c-6716f6b5a5ef3544-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "daa4420d3dd5ca392cad8bd2547dddca",
"x-ms-return-client-request-id": "true"
},
@@ -112,20 +116,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "871590da-57cb-47c1-b857-776f0e7cb05a",
+ "client-request-id": "f0f1a493-dfeb-4ee3-a38d-8b8659b99818",
"Content-Length": "1523",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:42 GMT",
+ "Date": "Fri, 01 May 2020 17:04:33 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiBgAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:43 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaAQAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:33 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "dced97d3-767f-4985-bcf5-1709fea24f00"
+ "x-ms-ests-server": "2.1.10476.10 - WUS2 ProdSlices",
+ "x-ms-request-id": "1aff463a-12c0-4929-8e89-28a7302b2200"
},
"ResponseBody": {
"token_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
@@ -197,19 +201,21 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "871590da-57cb-47c1-b857-776f0e7cb05a",
+ "client-request-id": "f0f1a493-dfeb-4ee3-a38d-8b8659b99818",
"Content-Length": "9",
"return-client-request-id": "true",
- "traceparent": "00-c54d429e5da20d4da08809ee00163622-e018316092382e42-00",
+ "traceparent": "00-41f1d9e56271bc438ef241506c62c88c-36ff4cf5e0ae424c-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "51738b816532e74686f06a2c29111b06",
"x-ms-return-client-request-id": "true"
},
@@ -217,23 +223,23 @@
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "871590da-57cb-47c1-b857-776f0e7cb05a",
- "Content-Length": "4112",
+ "client-request-id": "f0f1a493-dfeb-4ee3-a38d-8b8659b99818",
+ "Content-Length": "1548",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:42 GMT",
+ "Date": "Fri, 01 May 2020 17:04:33 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiBwAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:43 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaAgAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:34 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-clitelem": "1,0,0,311.5756,",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "fb5e20b6-230d-4159-8df6-06be9dba5000"
+ "x-ms-clitelem": "1,0,0,349.7602,",
+ "x-ms-ests-server": "2.1.10476.10 - WUS2 ProdSlices",
+ "x-ms-request-id": "9dda3943-9500-4115-ab43-2e9b619a3500"
},
"ResponseBody": {
"token_type": "Bearer",
@@ -242,13 +248,15 @@
"ext_expires_in": 3599,
"access_token": "Sanitized",
"refresh_token": "Sanitized",
- "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODU3NTYzMDMsIm5iZiI6MTU4NTc1NjMwMywiZXhwIjoxNTg1NzYwMjAzLCJhaW8iOiJBVFFBeS84UEFBQUFhek1udktHYTJYVFdrSVprUXVwRFJkTVN1QWlLUm8xTHRWTTlyNDJtaDdaWk5vbkU2R3pDUVdHUk92ZVNjRTlLIiwibmFtZSI6IklkZW50aXR5IFRlc3QgVXNlciIsIm9pZCI6IjQyZDhlODg0LTI2NWEtNGNkNC05MDg5LTRjM2JjNDBhZjE4MyIsInByZWZlcnJlZF91c2VybmFtZSI6ImlkZW50aXR5dGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IldtbG55VUdGOFN5SnR4dDJzMTZ2TGYtaWEwVE9TZENOTFBHc3R6X1RsYVUiLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJ0aUJlLXcwaldVR045Z2EtbmJwUUFBIiwidmVyIjoiMi4wIn0.N-wagpkZMOkANkXk-XOR7UNF9dKF2EPGG1AiELrjM-x2o5xWNRb_UjwvW_okCWefkCYfEaw9vk7UTLHKcVqAJK_ChnQr33AZEKRGGGi0PkREjx7DGYRefy8DiU2qGIb-hWbz1fp_GIvbeiy_lvYXX7u3H6nnJK3hiUxGuP1dX0zRpmU1Vz8BIcjR42LXCFcwx728GEdCmrSERVyyEryxOqK3xiLEgVI3JZTL2r47yZdgb6ST5xCu0AAOP7SF-mPCshymDUSqZMSSA-93qceHnsGK_V0NPPNXfexN4D6UUJ1YXTmQ1K8TjdU9QgYMNW3c3pKKvSd2XjCQnEsrQv1TpQ",
- "client_info": "eyJ1aWQiOiI0MmQ4ZTg4NC0yNjVhLTRjZDQtOTA4OS00YzNiYzQwYWYxODMiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
+ "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkN0VHVoTUptRDVNN0RMZHpEMnYyeDNRS1NSWSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODgzNTIzNzQsIm5iZiI6MTU4ODM1MjM3NCwiZXhwIjoxNTg4MzU2Mjc0LCJhaW8iOiJBVFFBeS84UEFBQUFmRjllRlRXTFJ4Z0piYkVGNHFxd0hIMm01UVZEcU51ejhqQ2EwQmlVck1mYkRvanRMd29wSlV0Z1FERnZyemMyIiwibmFtZSI6InRlc3R1c2VyIiwib2lkIjoiMjMzNjY0ZmEtNGU5Mi00Yzg1LTg5NzctZjc4MmEyNDI1OGU0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IllnU3RpSl9pMThLYjlBankzcGtTc29nWWVnMkJwSGxWckQyVGZkSGFRMmciLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJRem5hblFDVkZVR3JReTZiWVpvMUFBIiwidmVyIjoiMi4wIn0.GsFsf6k5IFWTCOqGZvEzSDMNtNZUcBu0v3q9H7y22LEEMf3HM-D718TKLmPLS7pZRkX9J5FrC96Djl109VWUwrEs2k9MqQmq7w_R6ZB9CXBjyXirnjkZaBUGbeISd8Ukj8guGnH8ErG1AbG3vzKtNU7d5MV8IjVhqWRr9YhuNHQMWlE6FUXpJT1OQR4Cq_4gaFF6Alt32w3p6lYqeu3Sufw56iPjkOdIBzbj5GXgBs5UPPVALHTtyR0JeG6MyH2PMtR2eHdGEBKO6saqdzXQqb4ThM0EKMHbfQaRx3m2o36Bjh-4HQLaNnJD0Zxv3q9xW0JcpROqw6sF6P1PjJhjUg",
+ "client_info": "eyJ1aWQiOiIyMzM2NjRmYS00ZTkyLTRjODUtODk3Ny1mNzgyYTI0MjU4ZTQiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
}
}
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "416295041"
+ "AZURE_IDENTITY_TEST_USERNAME": "testuser@azuresdkplayground.onmicrosoft.com",
+ "RandomSeed": "416295041",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_EmptySettingsFile.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_EmptySettingsFile.json
index b9b00df6dcab..9d65e004ea91 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_EmptySettingsFile.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_EmptySettingsFile.json
@@ -1,21 +1,23 @@
{
"Entries": [
{
- "RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Fcommon%2Foauth2%2Fv2.0%2Fauthorize",
+ "RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Forganizations%2Foauth2%2Fv2.0%2Fauthorize",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "c74ef9f4-16fa-4c37-9536-6bd8606ae40d",
+ "client-request-id": "a57c22bd-3cec-4965-bc2f-a5b81fa14471",
"return-client-request-id": "true",
- "traceparent": "00-f40aaae09199c148994e8f183055c845-b099cf5e5460644d-00",
+ "traceparent": "00-d095a8b27d8d434f95bc7be9f290e292-3d68e8840c1a4748-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "7f759735c061c49baba0ada601b6993a",
"x-ms-return-client-request-id": "true"
},
@@ -25,23 +27,23 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "c74ef9f4-16fa-4c37-9536-6bd8606ae40d",
- "Content-Length": "950",
+ "client-request-id": "a57c22bd-3cec-4965-bc2f-a5b81fa14471",
+ "Content-Length": "957",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:39 GMT",
+ "Date": "Fri, 01 May 2020 17:04:59 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiAgAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:40 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaAgAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:04:59 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "fc21797f-f865-414b-9fd8-3bd20ff84100"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "6f24fcc6-dfd7-4542-b4b8-f79ed4c93f00"
},
"ResponseBody": {
- "tenant_discovery_endpoint": "https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration",
+ "tenant_discovery_endpoint": "https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration",
"api-version": "1.1",
"metadata": [
{
@@ -88,21 +90,23 @@
}
},
{
- "RequestUri": "https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration",
+ "RequestUri": "https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "c74ef9f4-16fa-4c37-9536-6bd8606ae40d",
+ "client-request-id": "a57c22bd-3cec-4965-bc2f-a5b81fa14471",
"return-client-request-id": "true",
- "traceparent": "00-f40aaae09199c148994e8f183055c845-2a17c05ddce03b41-00",
+ "traceparent": "00-d095a8b27d8d434f95bc7be9f290e292-665acf80a2f24445-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "64b320e2d3b954105f82533e3e5e1e98",
"x-ms-return-client-request-id": "true"
},
@@ -112,29 +116,29 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "c74ef9f4-16fa-4c37-9536-6bd8606ae40d",
- "Content-Length": "1377",
+ "client-request-id": "a57c22bd-3cec-4965-bc2f-a5b81fa14471",
+ "Content-Length": "1405",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:39 GMT",
+ "Date": "Fri, 01 May 2020 17:04:59 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiAgAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:40 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaAgAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:05:00 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "6680076c-289c-4f7c-88e7-dfb233a14100"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "c4a31d7a-6c35-41e2-ac7c-1bab6d803e00"
},
"ResponseBody": {
- "token_endpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
+ "token_endpoint": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
"token_endpoint_auth_methods_supported": [
"client_secret_post",
"private_key_jwt",
"client_secret_basic"
],
- "jwks_uri": "https://login.microsoftonline.com/common/discovery/v2.0/keys",
+ "jwks_uri": "https://login.microsoftonline.com/organizations/discovery/v2.0/keys",
"response_modes_supported": [
"query",
"fragment",
@@ -161,10 +165,10 @@
"issuer": "https://login.microsoftonline.com/{tenantid}/v2.0",
"request_uri_parameter_supported": false,
"userinfo_endpoint": "https://graph.microsoft.com/oidc/userinfo",
- "authorization_endpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
+ "authorization_endpoint": "https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize",
"http_logout_supported": true,
"frontchannel_logout_supported": true,
- "end_session_endpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/logout",
+ "end_session_endpoint": "https://login.microsoftonline.com/organizations/oauth2/v2.0/logout",
"claims_supported": [
"sub",
"iss",
@@ -194,22 +198,24 @@
}
},
{
- "RequestUri": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
+ "RequestUri": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "c74ef9f4-16fa-4c37-9536-6bd8606ae40d",
+ "client-request-id": "a57c22bd-3cec-4965-bc2f-a5b81fa14471",
"Content-Length": "9",
"return-client-request-id": "true",
- "traceparent": "00-f40aaae09199c148994e8f183055c845-170170e289f8ed4a-00",
+ "traceparent": "00-d095a8b27d8d434f95bc7be9f290e292-e72fe120080d6f4d-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "eab420ecc7c37e1a6dc6947a07c2a511",
"x-ms-return-client-request-id": "true"
},
@@ -217,23 +223,23 @@
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "c74ef9f4-16fa-4c37-9536-6bd8606ae40d",
- "Content-Length": "4112",
+ "client-request-id": "a57c22bd-3cec-4965-bc2f-a5b81fa14471",
+ "Content-Length": "1548",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:39 GMT",
+ "Date": "Fri, 01 May 2020 17:04:59 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiAwAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:40 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaAwAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:05:00 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-clitelem": "1,0,0,321.6296,",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "58df056d-82aa-4f14-b197-639465a44c00"
+ "x-ms-clitelem": "1,0,0,349.6048,",
+ "x-ms-ests-server": "2.1.10476.10 - WUS2 ProdSlices",
+ "x-ms-request-id": "d9a0a9a0-323d-4c26-8cf2-60b4ae4e2000"
},
"ResponseBody": {
"token_type": "Bearer",
@@ -242,13 +248,15 @@
"ext_expires_in": 3599,
"access_token": "Sanitized",
"refresh_token": "Sanitized",
- "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODU3NTYzMDAsIm5iZiI6MTU4NTc1NjMwMCwiZXhwIjoxNTg1NzYwMjAwLCJhaW8iOiJBVFFBeS84UEFBQUFaenc5c1J3TFNFZTlIS3hRWG91NFRYaFk1cEtzVUg0amk2Q2tsZUZ6VHdpR0hyRTFrRDdLZjc0cEZWTnk3d3NhIiwibmFtZSI6IklkZW50aXR5IFRlc3QgVXNlciIsIm9pZCI6IjQyZDhlODg0LTI2NWEtNGNkNC05MDg5LTRjM2JjNDBhZjE4MyIsInByZWZlcnJlZF91c2VybmFtZSI6ImlkZW50aXR5dGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IldtbG55VUdGOFN5SnR4dDJzMTZ2TGYtaWEwVE9TZENOTFBHc3R6X1RsYVUiLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJiUVhmV0txQ0ZFLXhsMk9VWmFSTUFBIiwidmVyIjoiMi4wIn0.GCp6nA74IwHmefKcJ1MD2d_M_XXi2G7wodfJvL5cMW9PRpMiDBGYPSOl_DGtjmhpuxk0Q9GS4v4B-qgFAespYoxPhSbvlt7gPmpbH9k3jshE3YuMxTT_zGCdqM7hBZcf5iSquRMAgFO9t0a3TPhtqTvVz1Xcq1DSAhyPhgl9RV_hEw_9V219Ez1g5SXW3nrrOtCEZhwQvaBRrFgK7RtlTpdjFSpPXuRo2tT5E-lo8Cbs_3pLMQNZ_PNBAp2cdLVZnXRgBNgCWwf4YsIzkoxablFC2-VQSidrlPiJIEAUYaj9lKhgUesxIraOBHmUuMiAdTUB0PR9v9aDf7qTDgw1yw",
- "client_info": "eyJ1aWQiOiI0MmQ4ZTg4NC0yNjVhLTRjZDQtOTA4OS00YzNiYzQwYWYxODMiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
+ "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkN0VHVoTUptRDVNN0RMZHpEMnYyeDNRS1NSWSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODgzNTI0MDAsIm5iZiI6MTU4ODM1MjQwMCwiZXhwIjoxNTg4MzU2MzAwLCJhaW8iOiJBVFFBeS84UEFBQUFIblVsQ1pZN1l5SW1jYWo4RTYzQXN3NTk3U1g2S1Q3YWJLYVNmSTgvd01Jc2JrNjFDSFlsZ1c0YnBCaEd1NUFUIiwibmFtZSI6InRlc3R1c2VyIiwib2lkIjoiMjMzNjY0ZmEtNGU5Mi00Yzg1LTg5NzctZjc4MmEyNDI1OGU0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IllnU3RpSl9pMThLYjlBankzcGtTc29nWWVnMkJwSGxWckQyVGZkSGFRMmciLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJvS21nMlQweUpreU04bUMwcms0Z0FBIiwidmVyIjoiMi4wIn0.g5vjtu30CI3bZeNVCVhh1TQaPw7cMmGmPiSSMHzlJKTU-RUUfieXJ40hcWEdymL3V46rTMwBi7V8pgD2Dl7xw-aM6OS1Bq3gcTqaWc58-p5QeyOz3bBFT5u_0D0JN0b3M3TJ4bpcq70_TNTAX0fjUpIpqsF9jKHaRN1Yy6JghXG-URaI31vN87xGVZ2TA3EXP4dfhJKTyuXR_1yMtjpDf1UNjqle6cmqthQxPBPEbrpyeOOwR6dLzxwcTm1qkWMWwTd7kuSwkHaUUhKfNBN0eryUf4KI9iryyfto1GwTv4KjlvqPNntY45lrIwYdB8cMaGigQ3Yiz7XSFpiDwPZMuQ",
+ "client_info": "eyJ1aWQiOiIyMzM2NjRmYS00ZTkyLTRjODUtODk3Ny1mNzgyYTI0MjU4ZTQiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
}
}
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "1814209897"
+ "AZURE_IDENTITY_TEST_USERNAME": "testuser@azuresdkplayground.onmicrosoft.com",
+ "RandomSeed": "1814209897",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_EmptySettingsFileAsync.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_EmptySettingsFileAsync.json
index f5afb932e2ad..718501c56c4f 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_EmptySettingsFileAsync.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_EmptySettingsFileAsync.json
@@ -1,21 +1,23 @@
{
"Entries": [
{
- "RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Fcommon%2Foauth2%2Fv2.0%2Fauthorize",
+ "RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Forganizations%2Foauth2%2Fv2.0%2Fauthorize",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "6c91e4c7-5377-49d7-92dc-1d8ec03d5d93",
+ "client-request-id": "36ba3a42-107b-416f-b795-c26724a6e22c",
"return-client-request-id": "true",
- "traceparent": "00-5750f254ac402c45b6a25861fccc1086-d1377cba321c614e-00",
+ "traceparent": "00-2d7a7c0558f8d74698891a8deda1f722-58c4953b2e971741-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "bf33f7ef86206a342d66a853d492bfbb",
"x-ms-return-client-request-id": "true"
},
@@ -25,23 +27,23 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "6c91e4c7-5377-49d7-92dc-1d8ec03d5d93",
- "Content-Length": "950",
+ "client-request-id": "36ba3a42-107b-416f-b795-c26724a6e22c",
+ "Content-Length": "957",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:43 GMT",
+ "Date": "Fri, 01 May 2020 17:04:34 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiBwAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:43 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaAgAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:34 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "58df056d-82aa-4f14-b197-639440a54c00"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "10afc7a4-079d-4b04-a73a-663026de4000"
},
"ResponseBody": {
- "tenant_discovery_endpoint": "https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration",
+ "tenant_discovery_endpoint": "https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration",
"api-version": "1.1",
"metadata": [
{
@@ -88,21 +90,23 @@
}
},
{
- "RequestUri": "https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration",
+ "RequestUri": "https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "6c91e4c7-5377-49d7-92dc-1d8ec03d5d93",
+ "client-request-id": "36ba3a42-107b-416f-b795-c26724a6e22c",
"return-client-request-id": "true",
- "traceparent": "00-5750f254ac402c45b6a25861fccc1086-7ecc7e30d241ad4f-00",
+ "traceparent": "00-2d7a7c0558f8d74698891a8deda1f722-8e940643eb49c04b-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "4fc12a15541f69414ebef46c815c3de2",
"x-ms-return-client-request-id": "true"
},
@@ -112,29 +116,29 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "6c91e4c7-5377-49d7-92dc-1d8ec03d5d93",
- "Content-Length": "1377",
+ "client-request-id": "36ba3a42-107b-416f-b795-c26724a6e22c",
+ "Content-Length": "1405",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:43 GMT",
+ "Date": "Fri, 01 May 2020 17:04:34 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiBwAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:43 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaAgAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:34 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "d65d7dca-0715-4bd1-91fa-bbe0c8c04f00"
+ "x-ms-ests-server": "2.1.10476.10 - WUS2 ProdSlices",
+ "x-ms-request-id": "6b030e20-bb30-492a-8e84-a67d012f3500"
},
"ResponseBody": {
- "token_endpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
+ "token_endpoint": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
"token_endpoint_auth_methods_supported": [
"client_secret_post",
"private_key_jwt",
"client_secret_basic"
],
- "jwks_uri": "https://login.microsoftonline.com/common/discovery/v2.0/keys",
+ "jwks_uri": "https://login.microsoftonline.com/organizations/discovery/v2.0/keys",
"response_modes_supported": [
"query",
"fragment",
@@ -161,10 +165,10 @@
"issuer": "https://login.microsoftonline.com/{tenantid}/v2.0",
"request_uri_parameter_supported": false,
"userinfo_endpoint": "https://graph.microsoft.com/oidc/userinfo",
- "authorization_endpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
+ "authorization_endpoint": "https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize",
"http_logout_supported": true,
"frontchannel_logout_supported": true,
- "end_session_endpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/logout",
+ "end_session_endpoint": "https://login.microsoftonline.com/organizations/oauth2/v2.0/logout",
"claims_supported": [
"sub",
"iss",
@@ -194,22 +198,24 @@
}
},
{
- "RequestUri": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
+ "RequestUri": "https://login.microsoftonline.com/organizations/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "6c91e4c7-5377-49d7-92dc-1d8ec03d5d93",
+ "client-request-id": "36ba3a42-107b-416f-b795-c26724a6e22c",
"Content-Length": "9",
"return-client-request-id": "true",
- "traceparent": "00-5750f254ac402c45b6a25861fccc1086-9fa0f6e607e9af40-00",
+ "traceparent": "00-2d7a7c0558f8d74698891a8deda1f722-3bb54383f0ecaf46-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "b2058c7bd37257f8c206537e7c3a5a7b",
"x-ms-return-client-request-id": "true"
},
@@ -217,23 +223,23 @@
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "6c91e4c7-5377-49d7-92dc-1d8ec03d5d93",
- "Content-Length": "4112",
+ "client-request-id": "36ba3a42-107b-416f-b795-c26724a6e22c",
+ "Content-Length": "1548",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:43 GMT",
+ "Date": "Fri, 01 May 2020 17:04:34 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiCAAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:44 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaAwAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:35 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-clitelem": "1,0,0,298.3193,",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "9e92673d-83df-4a5e-b651-957a402f5000"
+ "x-ms-clitelem": "1,0,0,329.0879,",
+ "x-ms-ests-server": "2.1.10476.10 - WUS2 ProdSlices",
+ "x-ms-request-id": "586d7546-6d00-402b-861c-c1b0c51c2500"
},
"ResponseBody": {
"token_type": "Bearer",
@@ -242,13 +248,15 @@
"ext_expires_in": 3599,
"access_token": "Sanitized",
"refresh_token": "Sanitized",
- "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODU3NTYzMDQsIm5iZiI6MTU4NTc1NjMwNCwiZXhwIjoxNTg1NzYwMjA0LCJhaW8iOiJBVFFBeS84UEFBQUFmTytTbE53T29UTnZybHpua1lvVjNFc1prVlUrNHZOTmlYcDFJVFIwa0l6WTFLNFRReHpZVnIyRVNEMUF2OVU1IiwibmFtZSI6IklkZW50aXR5IFRlc3QgVXNlciIsIm9pZCI6IjQyZDhlODg0LTI2NWEtNGNkNC05MDg5LTRjM2JjNDBhZjE4MyIsInByZWZlcnJlZF91c2VybmFtZSI6ImlkZW50aXR5dGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IldtbG55VUdGOFN5SnR4dDJzMTZ2TGYtaWEwVE9TZENOTFBHc3R6X1RsYVUiLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJQV2VTbnQtRFhrcTJVWlY2UUM5UUFBIiwidmVyIjoiMi4wIn0.AmW_0ezAhm4GV65SAuX5NqMWg4TNLdHED6Lee_CAyvtGvFGzB0tFm-FCgSaef7depR17znyOR0s0UhTpevQvj5teYibHk5FMRPCI-cntBGLsi1TssXTLYDfMWozPI9NYmG2rLVoFkPAUtrXJlqRVF0H3nZjTvsE-Y9S_iQwC6Qb8JY4RWFYN81t2_DvUnO6J9H6hZX9S7vg1o4heq1obdXIa9YUtxQdzobz_U5t_BAeygGh2dcSgEUTfJ3TO9blJmzMG2tCiZiaORaY0oF7xX88B1nE5OqUwgtCA4MZcLZgF5ZFG4ZFcuv8GZ5w-dGUT-qWRFy--G8hWl5Adhu06gw",
- "client_info": "eyJ1aWQiOiI0MmQ4ZTg4NC0yNjVhLTRjZDQtOTA4OS00YzNiYzQwYWYxODMiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
+ "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkN0VHVoTUptRDVNN0RMZHpEMnYyeDNRS1NSWSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODgzNTIzNzQsIm5iZiI6MTU4ODM1MjM3NCwiZXhwIjoxNTg4MzU2Mjc0LCJhaW8iOiJBVFFBeS84UEFBQUFJQzA1QUd4Z0h4NWdtLzRzTlBkL21SWlZwakJaRFNBQXREemM4dWxSNktvVEU1cDgxYkp2VVdSQkNLL0Z5NGgrIiwibmFtZSI6InRlc3R1c2VyIiwib2lkIjoiMjMzNjY0ZmEtNGU5Mi00Yzg1LTg5NzctZjc4MmEyNDI1OGU0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IllnU3RpSl9pMThLYjlBankzcGtTc29nWWVnMkJwSGxWckQyVGZkSGFRMmciLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJSblZ0V0FCdEswQ0dITUd3eFJ3bEFBIiwidmVyIjoiMi4wIn0.cPAVAWaoOe2Q83ehdhjANWk7gp4tze1ZsJ32X3EUcit-4qkP1fwz3CDcacqJh9nD31bK2E8gYv5OxKMuEtcychCGhYPUIHoGSNV0NEtOJ0P4ESnPnMyJQaiofu8irfJXd4DxEZ4SJk_2Ou1rEh9wB70RtkHKbvHqA7O-gKzNfX7fVRIwOF8kcfT-z8I0AQT3czkprTqHcnInb4KRuhTL9hD9RpmlwxEpz6DIVArv83KHyMXuC6AH1u6leMMnuX4RQCcsccKsXKvJ8zoYW25RwXXwxJhD-sxJsY0-zGvslSSPcBRxlKaab5hUcIxoSiHTteIGYq-4qOA-1dHgNDCrPA",
+ "client_info": "eyJ1aWQiOiIyMzM2NjRmYS00ZTkyLTRjODUtODk3Ny1mNzgyYTI0MjU4ZTQiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
}
}
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "43695011"
+ "AZURE_IDENTITY_TEST_USERNAME": "testuser@azuresdkplayground.onmicrosoft.com",
+ "RandomSeed": "43695011",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_InvalidRefreshToken.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_InvalidRefreshToken.json
index 698253a428f0..3268f6b5f4ed 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_InvalidRefreshToken.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_InvalidRefreshToken.json
@@ -4,18 +4,20 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "51c03379-2e54-420e-b315-5945a3c7b78b",
+ "client-request-id": "2b7dc933-348e-44fb-a3f4-6aef6e86aaa1",
"return-client-request-id": "true",
- "traceparent": "00-b4f801e35a6cf84c9f4180fc3669f4a5-8fac04d8bfdb8f40-00",
+ "traceparent": "00-853f6292ae896d4a849d0dac03e4d6c1-38c84bafdca3fc42-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "feda22738c5348ee87b601f32a091770",
"x-ms-return-client-request-id": "true"
},
@@ -25,20 +27,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "51c03379-2e54-420e-b315-5945a3c7b78b",
+ "client-request-id": "2b7dc933-348e-44fb-a3f4-6aef6e86aaa1",
"Content-Length": "1523",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:40 GMT",
+ "Date": "Fri, 01 May 2020 17:04:59 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiAwAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:40 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaAwAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:05:00 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "fc21797f-f865-414b-9fd8-3bd21ff84100"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "839f775a-16ec-4be7-ab18-5f92e6943a00"
},
"ResponseBody": {
"token_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
@@ -110,19 +112,21 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "51c03379-2e54-420e-b315-5945a3c7b78b",
+ "client-request-id": "2b7dc933-348e-44fb-a3f4-6aef6e86aaa1",
"Content-Length": "9",
"return-client-request-id": "true",
- "traceparent": "00-b4f801e35a6cf84c9f4180fc3669f4a5-d82155fafb2aca4b-00",
+ "traceparent": "00-853f6292ae896d4a849d0dac03e4d6c1-da09577588c0044f-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "578eac650e0f4f3d3782e09e65e18809",
"x-ms-return-client-request-id": "true"
},
@@ -130,33 +134,33 @@
"StatusCode": 400,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "51c03379-2e54-420e-b315-5945a3c7b78b",
+ "client-request-id": "2b7dc933-348e-44fb-a3f4-6aef6e86aaa1",
"Content-Length": "508",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:40 GMT",
+ "Date": "Fri, 01 May 2020 17:04:59 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiAwAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:40 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaAwAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:05:00 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
"x-ms-clitelem": "1,9002313,0,,",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "c351dbfc-543e-4581-9172-5bcdc3bc5100"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "6f24fcc6-dfd7-4542-b4b8-f79ee5c93f00"
},
"ResponseBody": {
"error": "invalid_grant",
- "error_description": "AADSTS9002313: Invalid request. Request is malformed or invalid.\r\nTrace ID: c351dbfc-543e-4581-9172-5bcdc3bc5100\r\nCorrelation ID: 51c03379-2e54-420e-b315-5945a3c7b78b\r\nTimestamp: 2020-04-01 15:56:40Z",
+ "error_description": "AADSTS9002313: Invalid request. Request is malformed or invalid.\r\nTrace ID: 6f24fcc6-dfd7-4542-b4b8-f79ee5c93f00\r\nCorrelation ID: 2b7dc933-348e-44fb-a3f4-6aef6e86aaa1\r\nTimestamp: 2020-05-01 17:05:00Z",
"error_codes": [
9002313
],
- "timestamp": "2020-04-01 15:56:40Z",
- "trace_id": "c351dbfc-543e-4581-9172-5bcdc3bc5100",
- "correlation_id": "51c03379-2e54-420e-b315-5945a3c7b78b",
+ "timestamp": "2020-05-01 17:05:00Z",
+ "trace_id": "6f24fcc6-dfd7-4542-b4b8-f79ee5c93f00",
+ "correlation_id": "2b7dc933-348e-44fb-a3f4-6aef6e86aaa1",
"error_uri": "https://login.microsoftonline.com/error?code=9002313",
"suberror": "bad_token"
}
@@ -164,6 +168,7 @@
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "1716890069"
+ "RandomSeed": "1716890069",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_InvalidRefreshTokenAsync.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_InvalidRefreshTokenAsync.json
index 25599756526f..b64f6348b1de 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_InvalidRefreshTokenAsync.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_InvalidRefreshTokenAsync.json
@@ -4,18 +4,20 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "23643b6e-43e0-4067-9274-cd3b80ef695e",
+ "client-request-id": "539303bb-5f8a-4c45-9072-7587193e68d6",
"return-client-request-id": "true",
- "traceparent": "00-0ad16de049c9b64a973b29b721c5257c-f0b67e60d76d1541-00",
+ "traceparent": "00-9c0c98016535b5448faddbd8fb22b76b-2bbc8ea38eac4e4c-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "0d50fe598bba955a0e109867dc7335c0",
"x-ms-return-client-request-id": "true"
},
@@ -25,20 +27,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "23643b6e-43e0-4067-9274-cd3b80ef695e",
+ "client-request-id": "539303bb-5f8a-4c45-9072-7587193e68d6",
"Content-Length": "1523",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:43 GMT",
+ "Date": "Fri, 01 May 2020 17:04:34 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiCAAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:44 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaAwAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:35 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "e1053ea6-95b1-4990-b0e0-7fff68243f00"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "c9db2859-e888-4698-a292-c76635763f00"
},
"ResponseBody": {
"token_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
@@ -110,19 +112,21 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "23643b6e-43e0-4067-9274-cd3b80ef695e",
+ "client-request-id": "539303bb-5f8a-4c45-9072-7587193e68d6",
"Content-Length": "9",
"return-client-request-id": "true",
- "traceparent": "00-0ad16de049c9b64a973b29b721c5257c-3ba127e4e935024f-00",
+ "traceparent": "00-9c0c98016535b5448faddbd8fb22b76b-d1e4f11e34789640-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "98e41bdcaec5af3fbf06b41a2a611e91",
"x-ms-return-client-request-id": "true"
},
@@ -130,33 +134,33 @@
"StatusCode": 400,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "23643b6e-43e0-4067-9274-cd3b80ef695e",
+ "client-request-id": "539303bb-5f8a-4c45-9072-7587193e68d6",
"Content-Length": "508",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:43 GMT",
+ "Date": "Fri, 01 May 2020 17:04:34 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiCAAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:44 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaAwAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:35 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
"x-ms-clitelem": "1,9002313,0,,",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "3ea90e1f-b1e3-4f12-b05e-c67f17524900"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "4ec0876b-08af-4fcf-82a3-5bbf1e163400"
},
"ResponseBody": {
"error": "invalid_grant",
- "error_description": "AADSTS9002313: Invalid request. Request is malformed or invalid.\r\nTrace ID: 3ea90e1f-b1e3-4f12-b05e-c67f17524900\r\nCorrelation ID: 23643b6e-43e0-4067-9274-cd3b80ef695e\r\nTimestamp: 2020-04-01 15:56:44Z",
+ "error_description": "AADSTS9002313: Invalid request. Request is malformed or invalid.\r\nTrace ID: 4ec0876b-08af-4fcf-82a3-5bbf1e163400\r\nCorrelation ID: 539303bb-5f8a-4c45-9072-7587193e68d6\r\nTimestamp: 2020-05-01 17:04:35Z",
"error_codes": [
9002313
],
- "timestamp": "2020-04-01 15:56:44Z",
- "trace_id": "3ea90e1f-b1e3-4f12-b05e-c67f17524900",
- "correlation_id": "23643b6e-43e0-4067-9274-cd3b80ef695e",
+ "timestamp": "2020-05-01 17:04:35Z",
+ "trace_id": "4ec0876b-08af-4fcf-82a3-5bbf1e163400",
+ "correlation_id": "539303bb-5f8a-4c45-9072-7587193e68d6",
"error_uri": "https://login.microsoftonline.com/error?code=9002313",
"suberror": "bad_token"
}
@@ -164,6 +168,7 @@
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "608052039"
+ "RandomSeed": "608052039",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoRefreshToken.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoRefreshToken.json
index 5e86d0ca1cc9..58b40014988f 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoRefreshToken.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoRefreshToken.json
@@ -2,6 +2,7 @@
"Entries": [],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "688559220"
+ "RandomSeed": "688559220",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoRefreshTokenAsync.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoRefreshTokenAsync.json
index 4ab112e8472c..d22db92400bf 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoRefreshTokenAsync.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoRefreshTokenAsync.json
@@ -2,6 +2,7 @@
"Entries": [],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "458534226"
+ "RandomSeed": "458534226",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoSettingsFile.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoSettingsFile.json
index 59c731590e18..1327a861ec9d 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoSettingsFile.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoSettingsFile.json
@@ -4,18 +4,20 @@
"RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Fc54fac88-3dd3-461f-a7c4-8a368e0340b3%2Foauth2%2Fv2.0%2Fauthorize",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "1e9d5ac8-d32d-4576-ae41-51eb3da8d7fd",
+ "client-request-id": "97e415f6-e02f-40c5-aecf-d703c07fed8d",
"return-client-request-id": "true",
- "traceparent": "00-71825dd0f5bffa46ba6a4e9a759135c0-a7aa543bf953f24b-00",
+ "traceparent": "00-9c6592a52841c74e98f26f579189f083-13a534dc7942eb4e-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "1fe1422a39c6bca960de50ae25465b16",
"x-ms-return-client-request-id": "true"
},
@@ -25,20 +27,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "1e9d5ac8-d32d-4576-ae41-51eb3da8d7fd",
+ "client-request-id": "97e415f6-e02f-40c5-aecf-d703c07fed8d",
"Content-Length": "980",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:40 GMT",
+ "Date": "Fri, 01 May 2020 17:05:00 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiAwAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:41 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaAwAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:05:01 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "95a9b9b7-7866-4cd6-bf83-a341d7434100"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "03becb76-9362-4299-815a-59e42f4a4000"
},
"ResponseBody": {
"tenant_discovery_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
@@ -91,18 +93,20 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "1e9d5ac8-d32d-4576-ae41-51eb3da8d7fd",
+ "client-request-id": "97e415f6-e02f-40c5-aecf-d703c07fed8d",
"return-client-request-id": "true",
- "traceparent": "00-71825dd0f5bffa46ba6a4e9a759135c0-71dbdbe99ea4bc48-00",
+ "traceparent": "00-9c6592a52841c74e98f26f579189f083-a2499353c9dea24b-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "dea4643e627490424899806905861b31",
"x-ms-return-client-request-id": "true"
},
@@ -112,20 +116,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "1e9d5ac8-d32d-4576-ae41-51eb3da8d7fd",
+ "client-request-id": "97e415f6-e02f-40c5-aecf-d703c07fed8d",
"Content-Length": "1523",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:40 GMT",
+ "Date": "Fri, 01 May 2020 17:05:00 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiAwAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:41 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaAwAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:05:01 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "770433c7-b438-4fe6-b489-f81338d94f00"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "6db1b82b-f72f-4600-9ab3-12d11a9b3800"
},
"ResponseBody": {
"token_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
@@ -197,19 +201,21 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "1e9d5ac8-d32d-4576-ae41-51eb3da8d7fd",
+ "client-request-id": "97e415f6-e02f-40c5-aecf-d703c07fed8d",
"Content-Length": "9",
"return-client-request-id": "true",
- "traceparent": "00-71825dd0f5bffa46ba6a4e9a759135c0-ec36896428a4464c-00",
+ "traceparent": "00-9c6592a52841c74e98f26f579189f083-5d9fc468ccb31f41-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "11927a2a8d571f4a05a4e07319859e06",
"x-ms-return-client-request-id": "true"
},
@@ -217,23 +223,23 @@
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "1e9d5ac8-d32d-4576-ae41-51eb3da8d7fd",
- "Content-Length": "4106",
+ "client-request-id": "97e415f6-e02f-40c5-aecf-d703c07fed8d",
+ "Content-Length": "1548",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:40 GMT",
+ "Date": "Fri, 01 May 2020 17:05:00 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiBAAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:41 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaBAAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:05:01 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-clitelem": "1,0,0,309.6604,",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "111bfb3b-183f-4b7c-910f-a7f607ae4e00"
+ "x-ms-clitelem": "1,0,0,382.4744,",
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "6f24fcc6-dfd7-4542-b4b8-f79e10ca3f00"
},
"ResponseBody": {
"token_type": "Bearer",
@@ -242,13 +248,15 @@
"ext_expires_in": 3599,
"access_token": "Sanitized",
"refresh_token": "Sanitized",
- "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODU3NTYzMDEsIm5iZiI6MTU4NTc1NjMwMSwiZXhwIjoxNTg1NzYwMjAxLCJhaW8iOiJBVFFBeS84UEFBQUFEU3dnN1d6a0x5MDVlb2ZYYk9COElhYnVKT0xXSDUvYnY3eW9PMEhqZGpSQ3dXZnNFbHA1Mm9hYnh1NjhuaXBaIiwibmFtZSI6IklkZW50aXR5IFRlc3QgVXNlciIsIm9pZCI6IjQyZDhlODg0LTI2NWEtNGNkNC05MDg5LTRjM2JjNDBhZjE4MyIsInByZWZlcnJlZF91c2VybmFtZSI6ImlkZW50aXR5dGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IldtbG55VUdGOFN5SnR4dDJzMTZ2TGYtaWEwVE9TZENOTFBHc3R6X1RsYVUiLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJPX3NiRVQ4WWZFdVJENmYyQjY1T0FBIiwidmVyIjoiMi4wIn0.mOlj61T-fi38k775iiepqJEQ8PxLLzik0eDONONS0qvBuiQ5xhtivTI82wHL64HiX29AvpQZBmNDf1oC5zGr_3anAH1lqqAQYroadJHj98-qx27fP_C-nB9nDTwbqsZTTvVpbRSvPeonf52r-lHIviWSrsXW1qeug4usYT7ndYY_o5tahW6fnFl41uucMeIWspwYF6uYgaEmLzxaAVeDUaWymEkZnZRHaKHWy2aNZFcDtG6uyo7bX1uKNvoI_1R8QLP2cd2TbEvnqWkpfxJYxN_avx4ezU07MyUCIVtI2F1Cb7FYB2L6ooxSES4jBn3SlIen2aGahEoHCN5torO9Dg",
- "client_info": "eyJ1aWQiOiI0MmQ4ZTg4NC0yNjVhLTRjZDQtOTA4OS00YzNiYzQwYWYxODMiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
+ "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkN0VHVoTUptRDVNN0RMZHpEMnYyeDNRS1NSWSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODgzNTI0MDEsIm5iZiI6MTU4ODM1MjQwMSwiZXhwIjoxNTg4MzU2MzAxLCJhaW8iOiI0MmRnWUZEUXRXVElTWkNYUzVqOVQ4ZmtlLzNNcXVzM2p0OFUvT3ZDV0t2dDVGR3U1NVR6ejZmUld6UzQ4UTczRjg3MTlWMXlBQT09IiwibmFtZSI6InRlc3R1c2VyIiwib2lkIjoiMjMzNjY0ZmEtNGU5Mi00Yzg1LTg5NzctZjc4MmEyNDI1OGU0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IllnU3RpSl9pMThLYjlBankzcGtTc29nWWVnMkJwSGxWckQyVGZkSGFRMmciLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJ4dndrYjlmZlFrVzB1UGVlRU1vX0FBIiwidmVyIjoiMi4wIn0.jBv9tyaDntPJX3hMm2gzIGJ_yGdb--7UO2-UShsBZQCFQkjP4SgouSlSF-uQkUDXD-sCb8w-xLR3owsku3ZK_ucJy5px-LNWoYSD3zLefgnhCQvh9Ubrl6Zolb9etXUf5jAH5rSsqy_R2I4nJrEOrPGhcKaeKqPSQfMDJGN5o0dE90C4lOa_pJEX9xKi7vaZ8hjTcOVlAQ6-V-4g9ZLAM8MOK-jM2Nfm7IKDAyZvJ8o3p7rzKTMcXT9Mybr9NqBFqLimbhkfaE1m2NYPzldAAuN6IieCY-6Ds0k2iMeKUmXl1UvUFzrRLlOL8HsRYp9ndEO97QHe1ImKV9sc_APn_g",
+ "client_info": "eyJ1aWQiOiIyMzM2NjRmYS00ZTkyLTRjODUtODk3Ny1mNzgyYTI0MjU4ZTQiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
}
}
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "70355856"
+ "AZURE_IDENTITY_TEST_USERNAME": "testuser@azuresdkplayground.onmicrosoft.com",
+ "RandomSeed": "70355856",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoSettingsFileAsync.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoSettingsFileAsync.json
index 32075b53dd58..219e6dc46efb 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoSettingsFileAsync.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_NoSettingsFileAsync.json
@@ -4,18 +4,20 @@
"RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Fc54fac88-3dd3-461f-a7c4-8a368e0340b3%2Foauth2%2Fv2.0%2Fauthorize",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "bfa9a375-0e0f-4070-b4e1-10ed9405b98a",
+ "client-request-id": "77dba2b6-43ef-4b88-b243-c5d6d9b2bab1",
"return-client-request-id": "true",
- "traceparent": "00-d0c73743429db84d99daccdeeb8d6f64-e5f6f0a4cf9b194e-00",
+ "traceparent": "00-f283459e1c306d4ab52fda653653d424-072fc2e39e577c41-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "450370fc267f2065b4a4cbff466dd6ff",
"x-ms-return-client-request-id": "true"
},
@@ -25,20 +27,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "bfa9a375-0e0f-4070-b4e1-10ed9405b98a",
+ "client-request-id": "77dba2b6-43ef-4b88-b243-c5d6d9b2bab1",
"Content-Length": "980",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:44 GMT",
+ "Date": "Fri, 01 May 2020 17:04:35 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiCAAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:44 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaAwAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:35 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "7ba133ee-e83d-44d1-b0fd-5f3f70fb3c00"
+ "x-ms-ests-server": "2.1.10476.10 - WUS2 ProdSlices",
+ "x-ms-request-id": "f8d8792d-eb52-4bba-828b-1002ee251c00"
},
"ResponseBody": {
"tenant_discovery_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
@@ -91,18 +93,20 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "bfa9a375-0e0f-4070-b4e1-10ed9405b98a",
+ "client-request-id": "77dba2b6-43ef-4b88-b243-c5d6d9b2bab1",
"return-client-request-id": "true",
- "traceparent": "00-d0c73743429db84d99daccdeeb8d6f64-d30efb2ad989384d-00",
+ "traceparent": "00-f283459e1c306d4ab52fda653653d424-ed38a5e98d680346-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "37e60eeb448355f694f25e2c04c5de17",
"x-ms-return-client-request-id": "true"
},
@@ -112,20 +116,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "bfa9a375-0e0f-4070-b4e1-10ed9405b98a",
+ "client-request-id": "77dba2b6-43ef-4b88-b243-c5d6d9b2bab1",
"Content-Length": "1523",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:44 GMT",
+ "Date": "Fri, 01 May 2020 17:04:35 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiCAAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:44 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaAwAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:36 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "0373ca6e-688e-4b8d-9e47-225bdf724f00"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "0c956876-ed38-40ea-980a-7ceff1353c00"
},
"ResponseBody": {
"token_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
@@ -197,19 +201,21 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "bfa9a375-0e0f-4070-b4e1-10ed9405b98a",
+ "client-request-id": "77dba2b6-43ef-4b88-b243-c5d6d9b2bab1",
"Content-Length": "9",
"return-client-request-id": "true",
- "traceparent": "00-d0c73743429db84d99daccdeeb8d6f64-ccd1ba775029db4b-00",
+ "traceparent": "00-f283459e1c306d4ab52fda653653d424-398b68d32940d64f-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "88879d0552860b4eb3c76789f3ec667a",
"x-ms-return-client-request-id": "true"
},
@@ -217,23 +223,23 @@
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "bfa9a375-0e0f-4070-b4e1-10ed9405b98a",
- "Content-Length": "4106",
+ "client-request-id": "77dba2b6-43ef-4b88-b243-c5d6d9b2bab1",
+ "Content-Length": "1548",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:44 GMT",
+ "Date": "Fri, 01 May 2020 17:04:35 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiCQAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:44 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaBAAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:36 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-clitelem": "1,0,0,353.9854,",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "fba00dfa-b934-4c72-87de-b9e37c664e00"
+ "x-ms-clitelem": "1,0,0,410.239,",
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "0a1e664e-a944-41ea-889e-30529f483200"
},
"ResponseBody": {
"token_type": "Bearer",
@@ -242,13 +248,15 @@
"ext_expires_in": 3599,
"access_token": "Sanitized",
"refresh_token": "Sanitized",
- "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODU3NTYzMDQsIm5iZiI6MTU4NTc1NjMwNCwiZXhwIjoxNTg1NzYwMjA0LCJhaW8iOiJBVFFBeS84UEFBQUFJekovMkpDdmdCUEhoeHFOcUlodXZIc05lKzBBeFBnMzZvWnp4UnVFYlFTT25tMW9Tc1BMcHpudWh4Z3h3WC9hIiwibmFtZSI6IklkZW50aXR5IFRlc3QgVXNlciIsIm9pZCI6IjQyZDhlODg0LTI2NWEtNGNkNC05MDg5LTRjM2JjNDBhZjE4MyIsInByZWZlcnJlZF91c2VybmFtZSI6ImlkZW50aXR5dGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IldtbG55VUdGOFN5SnR4dDJzMTZ2TGYtaWEwVE9TZENOTFBHc3R6X1RsYVUiLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiItZzJnLXpTNWNreUgzcm5qZkdaT0FBIiwidmVyIjoiMi4wIn0.CfH441FyjyGPwDopvQSD1TnPR36xhyK3ClAxkmSC8mtd-UNI-crAen2VuqtBC4HCXlEGnNoRUEyZNFoGpiLcncjR4t-OUWSGOtuw3Z-P9w2SsAHFFU7FrTGsx_lj_OOvs6Bm51W94XvvXYZZxRa0n4Y_lsovTsLRMHpfO2zcNMaa-z6Li91zDhZAFZcg0sGEJYpChNQI5l-1BcPwDdYIMgRJ0W8OP7fSXU7Kz8U45Koil3NWNpA1um3HxEC-VnHQ4x4DDyRZJ6erMo8sXbsfdwHtu2YsdqRXvluNZPbYvyrFGUGTuDA_rgbOMp6N5npmBtbHtQgFSGipLu_I6kG67w",
- "client_info": "eyJ1aWQiOiI0MmQ4ZTg4NC0yNjVhLTRjZDQtOTA4OS00YzNiYzQwYWYxODMiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
+ "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkN0VHVoTUptRDVNN0RMZHpEMnYyeDNRS1NSWSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODgzNTIzNzYsIm5iZiI6MTU4ODM1MjM3NiwiZXhwIjoxNTg4MzU2Mjc2LCJhaW8iOiJBVFFBeS84UEFBQUFXakhZODFlSGlSZ010QXN4MWZrdXRVbDJ0OGUzdENhNE8rSlNIbEtUVXJnMmNTamxTZ1JrZHZ1aFllY0o2ckVlIiwibmFtZSI6InRlc3R1c2VyIiwib2lkIjoiMjMzNjY0ZmEtNGU5Mi00Yzg1LTg5NzctZjc4MmEyNDI1OGU0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IllnU3RpSl9pMThLYjlBankzcGtTc29nWWVnMkJwSGxWckQyVGZkSGFRMmciLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJUbVllQ2tTcDZrR0luakJTbjBneUFBIiwidmVyIjoiMi4wIn0.JV9cYINnht_K_g7YSIHI_8eGPT_SbjH0M50j8mX3Fyo-PG_DpgOVIWlDoo-VH5_ebOvzP11YB3QZXUiQHapUUcPWYUc2gUFtts3_pY0o_BWG4z3_kOs-K5803U6P5WMwR-AiteP9UdYu_64M2XxgNvBKcmBJ8vGiwCHFM_4juYIyv9oajW6Spp0EYyRUhD-Lv6gtTee0cojOTZUDbeiPESkZUnZdYhGo3WZM1aV_h7So7EL6hDZDmkxgEuxvZxc9nOW0eWVMGn2kZspS77xr_3-hgVlWtPr5K8KYwdLh9BhmOZzOi1JW0UqfgNDte0aYm7683iXLpLUHNQjL_GvJIw",
+ "client_info": "eyJ1aWQiOiIyMzM2NjRmYS00ZTkyLTRjODUtODk3Ny1mNzgyYTI0MjU4ZTQiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
}
}
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "1044869523"
+ "AZURE_IDENTITY_TEST_USERNAME": "testuser@azuresdkplayground.onmicrosoft.com",
+ "RandomSeed": "1044869523",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_TenantInSettings.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_TenantInSettings.json
index 443f47515bfc..e615ab8f8412 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_TenantInSettings.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_TenantInSettings.json
@@ -4,18 +4,20 @@
"RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Fc54fac88-3dd3-461f-a7c4-8a368e0340b3%2Foauth2%2Fv2.0%2Fauthorize",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "0abd15a2-0092-4436-9f7e-e7a46758815f",
+ "client-request-id": "ec79aedc-01cf-4293-938d-8d3e2c8cc010",
"return-client-request-id": "true",
- "traceparent": "00-9e0ecdfc46906f45ad47978a3f8856f3-e454696513ef9445-00",
+ "traceparent": "00-baea2cc5a7257f46bab30ff5866d969a-a941b51991597b4a-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "dceab0186a14d6369a54a5828f691a28",
"x-ms-return-client-request-id": "true"
},
@@ -25,20 +27,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "0abd15a2-0092-4436-9f7e-e7a46758815f",
+ "client-request-id": "ec79aedc-01cf-4293-938d-8d3e2c8cc010",
"Content-Length": "980",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:41 GMT",
+ "Date": "Fri, 01 May 2020 17:05:01 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiBAAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:41 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaBAAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:05:02 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "3ea90e1f-b1e3-4f12-b05e-c67f6f514900"
+ "x-ms-ests-server": "2.1.10476.10 - WUS2 ProdSlices",
+ "x-ms-request-id": "8bba7cdf-3098-4a5b-ac35-2211e2262600"
},
"ResponseBody": {
"tenant_discovery_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
@@ -91,18 +93,20 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "0abd15a2-0092-4436-9f7e-e7a46758815f",
+ "client-request-id": "ec79aedc-01cf-4293-938d-8d3e2c8cc010",
"return-client-request-id": "true",
- "traceparent": "00-9e0ecdfc46906f45ad47978a3f8856f3-3488a1d304eef449-00",
+ "traceparent": "00-baea2cc5a7257f46bab30ff5866d969a-bfdeb646c85a9544-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "8e1d6afa370defd4f9811db0c741ad94",
"x-ms-return-client-request-id": "true"
},
@@ -112,20 +116,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "0abd15a2-0092-4436-9f7e-e7a46758815f",
+ "client-request-id": "ec79aedc-01cf-4293-938d-8d3e2c8cc010",
"Content-Length": "1523",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:41 GMT",
+ "Date": "Fri, 01 May 2020 17:05:01 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiBAAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:41 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaBAAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:05:02 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "f225fd3e-b14e-436a-a7cf-92c0cb3a5400"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "c6ca1df5-87c5-4781-bbc9-1e2944113600"
},
"ResponseBody": {
"token_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
@@ -197,19 +201,21 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "0abd15a2-0092-4436-9f7e-e7a46758815f",
+ "client-request-id": "ec79aedc-01cf-4293-938d-8d3e2c8cc010",
"Content-Length": "9",
"return-client-request-id": "true",
- "traceparent": "00-9e0ecdfc46906f45ad47978a3f8856f3-6280aa61a839f14b-00",
+ "traceparent": "00-baea2cc5a7257f46bab30ff5866d969a-abcd220edc781f4c-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "a858e390e63fe6ec02ccfe550c75d9a5",
"x-ms-return-client-request-id": "true"
},
@@ -217,23 +223,23 @@
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "0abd15a2-0092-4436-9f7e-e7a46758815f",
- "Content-Length": "4106",
+ "client-request-id": "ec79aedc-01cf-4293-938d-8d3e2c8cc010",
+ "Content-Length": "1548",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:41 GMT",
+ "Date": "Fri, 01 May 2020 17:05:01 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiBQAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:42 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=Amb0l68XPG1LoGoiJadwT45e2RJaBQAAALlNPtYOAAAA; expires=Sun, 31-May-2020 17:05:02 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-clitelem": "1,0,0,349.56,",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "8ec3a1f1-f8ad-405b-b657-0bc46e264d00"
+ "x-ms-clitelem": "1,0,0,416.568,",
+ "x-ms-ests-server": "2.1.10476.10 - WUS2 ProdSlices",
+ "x-ms-request-id": "04bdac0b-4463-4cd7-a8b2-5a9326c02a00"
},
"ResponseBody": {
"token_type": "Bearer",
@@ -242,13 +248,15 @@
"ext_expires_in": 3599,
"access_token": "Sanitized",
"refresh_token": "Sanitized",
- "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODU3NTYzMDIsIm5iZiI6MTU4NTc1NjMwMiwiZXhwIjoxNTg1NzYwMjAyLCJhaW8iOiJBVFFBeS84UEFBQUExeWtoWERCang5N1Y0aWpiMWpCRUFtcGE1SmVOYktlZjl4STh2NXlhUDhmdnJ6TVRnRnAvMW5aZk91WWhFWFpiIiwibmFtZSI6IklkZW50aXR5IFRlc3QgVXNlciIsIm9pZCI6IjQyZDhlODg0LTI2NWEtNGNkNC05MDg5LTRjM2JjNDBhZjE4MyIsInByZWZlcnJlZF91c2VybmFtZSI6ImlkZW50aXR5dGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IldtbG55VUdGOFN5SnR4dDJzMTZ2TGYtaWEwVE9TZENOTFBHc3R6X1RsYVUiLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiI4YUhEanEzNFcwQzJWd3ZFYmlaTkFBIiwidmVyIjoiMi4wIn0.LRQ538xbwq-EVo9-FwfiuTSjgbTdFW_jXAfmWcJqMP4LG7M49qgT5XgcFYisYZmufZwQWIFJBgHm76u8G7jAjhaEDSmpiGhXRkfz0HwV1XtvzsEltENJZkNVyiZEavsm1jUkX18L_CyqWrFVKvD0R04-1p-XlayozNdndiprFVmvRplSSHMjGqbcq_KAjtjEhS2e6uyru0kbpAGAjHUDfN_GMc_dEkxaeMeDnRVVY03scp9Kty3T1mx2OHGv0TQwdXEuNE7eIL7ZDUxVVVKJicXexl6Gk_oMu_y11pcdjF0YKkhd2PRu3_egcSz2DO-BxbMS5UNSHsdLmUaDVAMNAw",
- "client_info": "eyJ1aWQiOiI0MmQ4ZTg4NC0yNjVhLTRjZDQtOTA4OS00YzNiYzQwYWYxODMiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
+ "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkN0VHVoTUptRDVNN0RMZHpEMnYyeDNRS1NSWSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODgzNTI0MDIsIm5iZiI6MTU4ODM1MjQwMiwiZXhwIjoxNTg4MzU2MzAyLCJhaW8iOiJBVFFBeS84UEFBQUFOQ01EWGFpUlZIYWFVazVKcE5EcXkvYUdQSjE0aGhDcHVTL2dXeEJPNENBbFU4Y2tHYVFNYVVWek82aUFJNnZhIiwibmFtZSI6InRlc3R1c2VyIiwib2lkIjoiMjMzNjY0ZmEtNGU5Mi00Yzg1LTg5NzctZjc4MmEyNDI1OGU0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IllnU3RpSl9pMThLYjlBankzcGtTc29nWWVnMkJwSGxWckQyVGZkSGFRMmciLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJDNnk5QkdORTEweW9zbHFUSnNBcUFBIiwidmVyIjoiMi4wIn0.nMhKPXJGPRGGO1_rK9Jd49bZLcFxYXihZzB8yPS132J1mnkZfRp4Eq29mBeI9x7CGk0iD-DEGbY73fXlayBO9XjlSiuIkEUQntES5eHZQtdKG1Y7w7wXfGK7qmEdbXZFxVEwlbjNk9WW4Y-fsscOErhof4Mrzokm_0aSrKjYHhemMibRRX-eSUQ_VUvhWl1ssA_vWJPuAFyX2lhJ1X0Wfa2rl209FLOERYUf-7NQllvFfNlK4ETNIwkB-S-t_yr01BaotEmi4F4bDbpvIb7grU8RSY-ynrw2XjPMpQk74OX7oo0EmkOaEt2GFjuCcwQ-42ehq8os8PV_eWzpAyfKOw",
+ "client_info": "eyJ1aWQiOiIyMzM2NjRmYS00ZTkyLTRjODUtODk3Ny1mNzgyYTI0MjU4ZTQiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
}
}
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "1430786117"
+ "AZURE_IDENTITY_TEST_USERNAME": "testuser@azuresdkplayground.onmicrosoft.com",
+ "RandomSeed": "1430786117",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_TenantInSettingsAsync.json b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_TenantInSettingsAsync.json
index b9351a144302..3b65e23b4df0 100644
--- a/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_TenantInSettingsAsync.json
+++ b/sdk/identity/Azure.Identity/tests/SessionRecords/VisualStudioCodeCredentialLiveTests/AuthenticateWithVscCredential_TenantInSettingsAsync.json
@@ -4,18 +4,20 @@
"RequestUri": "https://login.microsoftonline.com/common/discovery/instance?api-version=1.1\u0026authorization_endpoint=https%3A%2F%2Flogin.microsoftonline.com%2Fc54fac88-3dd3-461f-a7c4-8a368e0340b3%2Foauth2%2Fv2.0%2Fauthorize",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "2a8829d0-cc9c-4b0a-bbd1-f4194f794840",
+ "client-request-id": "f5e0ca0d-5697-4887-8ffd-123560f4d9d7",
"return-client-request-id": "true",
- "traceparent": "00-30cc8af0a70a9b47a666d6316e0550ed-f5cd198371e1504d-00",
+ "traceparent": "00-d37daab61865da47b31e901c5fb1c0a1-36dfe5ad8ff08b40-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "f31f933add3f6bde90b64fb4c4f20785",
"x-ms-return-client-request-id": "true"
},
@@ -25,20 +27,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "2a8829d0-cc9c-4b0a-bbd1-f4194f794840",
+ "client-request-id": "f5e0ca0d-5697-4887-8ffd-123560f4d9d7",
"Content-Length": "980",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:44 GMT",
+ "Date": "Fri, 01 May 2020 17:04:36 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiCQAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:45 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaBAAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:36 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "87d348a3-0e5d-4966-beba-5b2c46eb4600"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "df460164-249e-4193-9b4c-de9649773d00"
},
"ResponseBody": {
"tenant_discovery_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
@@ -91,18 +93,20 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
- "client-request-id": "2a8829d0-cc9c-4b0a-bbd1-f4194f794840",
+ "client-request-id": "f5e0ca0d-5697-4887-8ffd-123560f4d9d7",
"return-client-request-id": "true",
- "traceparent": "00-30cc8af0a70a9b47a666d6316e0550ed-4682e34b467d5f41-00",
+ "traceparent": "00-d37daab61865da47b31e901c5fb1c0a1-cfed086155684042-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "c1469078ef00d92b5871cd88a1078ed0",
"x-ms-return-client-request-id": "true"
},
@@ -112,20 +116,20 @@
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Origin": "*",
"Cache-Control": "max-age=86400, private",
- "client-request-id": "2a8829d0-cc9c-4b0a-bbd1-f4194f794840",
+ "client-request-id": "f5e0ca0d-5697-4887-8ffd-123560f4d9d7",
"Content-Length": "1523",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:44 GMT",
+ "Date": "Fri, 01 May 2020 17:04:36 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiCQAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:45 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaBAAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:36 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "84d12992-f3ae-497b-973e-9ca2c5ff4100"
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "cee23728-f009-4300-b9f7-fd78d9803d00"
},
"ResponseBody": {
"token_endpoint": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
@@ -197,19 +201,21 @@
"RequestUri": "https://login.microsoftonline.com/c54fac88-3dd3-461f-a7c4-8a368e0340b3/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
- "client-request-id": "2a8829d0-cc9c-4b0a-bbd1-f4194f794840",
+ "client-request-id": "f5e0ca0d-5697-4887-8ffd-123560f4d9d7",
"Content-Length": "9",
"return-client-request-id": "true",
- "traceparent": "00-30cc8af0a70a9b47a666d6316e0550ed-814c0db121b6bd4e-00",
+ "traceparent": "00-d37daab61865da47b31e901c5fb1c0a1-8e7657655ce9c64e-00",
"User-Agent": [
- "azsdk-net-Identity/1.2.0-dev.20200401.1",
- "(.NET Core 3.1.1; Microsoft Windows 10.0.18362)"
+ "azsdk-net-Identity/1.2.0-dev.20200501.1\u002B5c64a3e68df3938066705cb385320fa586525a09",
+ "(.NET Core 4.6.28619.01; Microsoft Windows 10.0.18363 )"
],
"x-app-name": "UnknownClient",
"x-app-ver": "0.0.0.0",
- "x-client-OS": "Microsoft Windows 10.0.18362",
+ "x-client-current-telemetry": "1|1001,0|",
+ "x-client-last-telemetry": "",
+ "x-client-OS": "Microsoft Windows 10.0.18363 ",
"x-client-SKU": "MSAL.NetCore",
- "x-client-Ver": "4.1.0.0",
+ "x-client-Ver": "4.10.0.0",
"x-ms-client-request-id": "743f84770aca13b7f53a055bf4ce2f65",
"x-ms-return-client-request-id": "true"
},
@@ -217,23 +223,23 @@
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
- "client-request-id": "2a8829d0-cc9c-4b0a-bbd1-f4194f794840",
- "Content-Length": "4112",
+ "client-request-id": "f5e0ca0d-5697-4887-8ffd-123560f4d9d7",
+ "Content-Length": "1548",
"Content-Type": "application/json; charset=utf-8",
- "Date": "Wed, 01 Apr 2020 15:56:44 GMT",
+ "Date": "Fri, 01 May 2020 17:04:36 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
- "fpc=AuKdndUeH3REtEK73dxSTcVlEICiCgAAALawFtYOAAAA; expires=Fri, 01-May-2020 15:56:45 GMT; path=/; secure; HttpOnly; SameSite=None",
+ "fpc=As3CBRmU-TJPmea7xqVN7QRe2RJaBQAAAKBNPtYOAAAA; expires=Sun, 31-May-2020 17:04:37 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=prod; path=/; SameSite=None; secure; HttpOnly",
"stsservicecookie=ests; path=/; secure; HttpOnly; SameSite=None"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
- "x-ms-clitelem": "1,0,0,304.2457,",
- "x-ms-ests-server": "2.1.10244.32 - SAN ProdSlices",
- "x-ms-request-id": "24c9295e-90ba-49ee-b5f1-171bf1324200"
+ "x-ms-clitelem": "1,0,0,507.1204,",
+ "x-ms-ests-server": "2.1.10476.10 - WST ProdSlices",
+ "x-ms-request-id": "a7805c8a-05a1-45e7-a0ba-7fe44e6d3f00"
},
"ResponseBody": {
"token_type": "Bearer",
@@ -242,13 +248,15 @@
"ext_expires_in": 3599,
"access_token": "Sanitized",
"refresh_token": "Sanitized",
- "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODU3NTYzMDUsIm5iZiI6MTU4NTc1NjMwNSwiZXhwIjoxNTg1NzYwMjA1LCJhaW8iOiJBVFFBeS84UEFBQUEzMVZ2bGRmaTNrVFc5NWpQUTkweTg3WHVOWkxqeW5BK2RWaU5VK3h6MEtQaXNCdmNMcFlpSjVYVFd1d29LTmYzIiwibmFtZSI6IklkZW50aXR5IFRlc3QgVXNlciIsIm9pZCI6IjQyZDhlODg0LTI2NWEtNGNkNC05MDg5LTRjM2JjNDBhZjE4MyIsInByZWZlcnJlZF91c2VybmFtZSI6ImlkZW50aXR5dGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IldtbG55VUdGOFN5SnR4dDJzMTZ2TGYtaWEwVE9TZENOTFBHc3R6X1RsYVUiLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJYaW5KSkxxUTdrbTE4UmNiOFRKQ0FBIiwidmVyIjoiMi4wIn0.ih35ieGtSREwcQzlcxoyVXJXffu27Zk4tFJ4E_ZmZhV_9i7IdY38c6Qy2V-zujMdy2x6OvAH2jssEiwpDTUdODzOZ14bt8ibnNfUr7aJkUts8bBTjf2ZimCXm-Yn_zLaWxQt5n7viUzPiQqNV3lwl09kbBpXOfNM8wghPlt5pyNfDWzMZL0XduDC9vs__YsV3FSs3ky_acHuGk57P5JlN2Jh9pVyU0cs70dkEEZQUgopYTvReQb11OM93oKJZwB3PaOB9UqI-4_xnhQsmWNcbhkX9JelR0fnJe6Y_ZobvUFGd0WcXmg_bHKPKzhBta-W7jhuzT6CbLyNaAoYDnBxOw",
- "client_info": "eyJ1aWQiOiI0MmQ4ZTg4NC0yNjVhLTRjZDQtOTA4OS00YzNiYzQwYWYxODMiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
+ "id_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IkN0VHVoTUptRDVNN0RMZHpEMnYyeDNRS1NSWSJ9.eyJhdWQiOiJhZWJjNjQ0My05OTZkLTQ1YzItOTBmMC0zODhmZjk2ZmFhNTYiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzL3YyLjAiLCJpYXQiOjE1ODgzNTIzNzcsIm5iZiI6MTU4ODM1MjM3NywiZXhwIjoxNTg4MzU2Mjc3LCJhaW8iOiJBVFFBeS84UEFBQUFIUkFvRWUzT3dJc1JPRGorMWF5UnRCM3hiOHhWbS8xbWpLYzNEZStzdVJoRnd1NW5TangwTmZMRFFQVmdpNTA5IiwibmFtZSI6InRlc3R1c2VyIiwib2lkIjoiMjMzNjY0ZmEtNGU5Mi00Yzg1LTg5NzctZjc4MmEyNDI1OGU0IiwicHJlZmVycmVkX3VzZXJuYW1lIjoidGVzdHVzZXJAYXp1cmVzZGtwbGF5Z3JvdW5kLm9ubWljcm9zb2Z0LmNvbSIsInN1YiI6IllnU3RpSl9pMThLYjlBankzcGtTc29nWWVnMkJwSGxWckQyVGZkSGFRMmciLCJ0aWQiOiJjNTRmYWM4OC0zZGQzLTQ2MWYtYTdjNC04YTM2OGUwMzQwYjMiLCJ1dGkiOiJpbHlBcDZFRjUwV2d1bl9rVG0wX0FBIiwidmVyIjoiMi4wIn0.uud3NJr3T2GW80vGIxnCgrg7f8ROW9EzsB8sOFFQ79W0uhTC4qM6RN2eIunXmXj3iKCO7Kp6lwh0YEZZ0vQhYGN9SeY-ghEaGkSlGpcoeGrcMZ8SYMMNBM0FGotHc3FuVEf6g6xU6a-jO9reV10cp-se_MKOPIKgiCw-TPhp5g_r4kXAoxd6YFqk3eezSz278LCQHuGTaVL_CysRsjBEIbQ4FSbcuh1jTjCl4iUUT86mgXLxGrL0Airem7BBLUzbwHH9-ntQPkL43_G_pg9b_udHJ7Lz6bq1STL3OsGjsqKHlLwPJBz7ZuZ4ryVgeydgtXu4h9sXSIxkXdc8uLKoPA",
+ "client_info": "eyJ1aWQiOiIyMzM2NjRmYS00ZTkyLTRjODUtODk3Ny1mNzgyYTI0MjU4ZTQiLCJ1dGlkIjoiYzU0ZmFjODgtM2RkMy00NjFmLWE3YzQtOGEzNjhlMDM0MGIzIn0"
}
}
],
"Variables": {
"AZURE_IDENTITY_TEST_TENANTID": "c54fac88-3dd3-461f-a7c4-8a368e0340b3",
- "RandomSeed": "1225131761"
+ "AZURE_IDENTITY_TEST_USERNAME": "testuser@azuresdkplayground.onmicrosoft.com",
+ "RandomSeed": "1225131761",
+ "TENANT_ID": null
}
}
\ No newline at end of file
diff --git a/sdk/identity/Azure.Identity/tests/StaticCachesUtilities.cs b/sdk/identity/Azure.Identity/tests/StaticCachesUtilities.cs
index 930f50da3713..224481fa61e3 100644
--- a/sdk/identity/Azure.Identity/tests/StaticCachesUtilities.cs
+++ b/sdk/identity/Azure.Identity/tests/StaticCachesUtilities.cs
@@ -13,7 +13,7 @@ internal static class StaticCachesUtilities
{
private static readonly Lazy s_clearStaticMetadataProvider = new Lazy(() =>
{
- Type staticMetadataProviderType = typeof(PublicClientApplication).Assembly.GetType("Microsoft.Identity.Client.Instance.Discovery.StaticMetadataProvider", true);
+ Type staticMetadataProviderType = typeof(PublicClientApplication).Assembly.GetType("Microsoft.Identity.Client.Instance.Discovery.NetworkCacheMetadataProvider", true);
MethodInfo clearMethod = staticMetadataProviderType.GetMethod("Clear", BindingFlags.Public | BindingFlags.Instance);
NewExpression callConstructor = Expression.New(staticMetadataProviderType);
MethodCallExpression invokeClear = Expression.Call(callConstructor, clearMethod);
diff --git a/sdk/identity/Azure.Identity/tests/UsernamePasswordCredentialLiveTests.cs b/sdk/identity/Azure.Identity/tests/UsernamePasswordCredentialLiveTests.cs
index 7e5dbae1e50b..b968c8d8cfaa 100644
--- a/sdk/identity/Azure.Identity/tests/UsernamePasswordCredentialLiveTests.cs
+++ b/sdk/identity/Azure.Identity/tests/UsernamePasswordCredentialLiveTests.cs
@@ -57,6 +57,7 @@ public UsernamePasswordCredentialLiveTests(bool isAsync) : base(isAsync)
public void ClearDiscoveryCache()
{
StaticCachesUtilities.ClearStaticMetadataProviderCache();
+ StaticCachesUtilities.ClearAuthorityEndpointResolutionManagerCache();
}
// !!!!!! WARNING !!!!!