Skip to content

Commit cc0c30e

Browse files
CopilotchristothesJonathanCrd
authored
Deprecate UseEmbeddedWebView property in BrowserCustomizationOptions (#50516)
* Initial plan for issue * Add [Obsolete] attribute to UseEmbeddedWebView property with deprecation message Co-authored-by: christothes <[email protected]> * Export API * disable warning in clone * Add changelog entry for UseEmbeddedWebView deprecation Co-authored-by: JonathanCrd <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: christothes <[email protected]> Co-authored-by: JonathanCrd <[email protected]> Co-authored-by: JonathanCrd <[email protected]>
1 parent b6d0eb6 commit cc0c30e

File tree

7 files changed

+17
-0
lines changed

7 files changed

+17
-0
lines changed

sdk/identity/Azure.Identity/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212

1313
### Other Changes
1414

15+
- Deprecated `BrowserCustomizationOptions.UseEmbeddedWebView` property. This option requires additional dependencies on Microsoft.Identity.Client.Desktop and is no longer supported. Consider using brokered authentication instead.
16+
1517
## 1.16.0 (2025-09-09)
1618

1719
### Features Added

sdk/identity/Azure.Identity/api/Azure.Identity.net8.0.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ public partial class BrowserCustomizationOptions
115115
public BrowserCustomizationOptions() { }
116116
public string ErrorMessage { get { throw null; } set { } }
117117
public string SuccessMessage { get { throw null; } set { } }
118+
[System.ObsoleteAttribute("This option requires additional dependencies on Microsoft.Identity.Client.Desktop and is no longer supported. Consider using brokered authentication instead")]
118119
public bool? UseEmbeddedWebView { get { throw null; } set { } }
119120
}
120121
public partial class ChainedTokenCredential : Azure.Core.TokenCredential

sdk/identity/Azure.Identity/api/Azure.Identity.netstandard2.0.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ public partial class BrowserCustomizationOptions
113113
public BrowserCustomizationOptions() { }
114114
public string ErrorMessage { get { throw null; } set { } }
115115
public string SuccessMessage { get { throw null; } set { } }
116+
[System.ObsoleteAttribute("This option requires additional dependencies on Microsoft.Identity.Client.Desktop and is no longer supported. Consider using brokered authentication instead")]
116117
public bool? UseEmbeddedWebView { get { throw null; } set { } }
117118
}
118119
public partial class ChainedTokenCredential : Azure.Core.TokenCredential

sdk/identity/Azure.Identity/src/Credentials/BrowserCustomizationOptions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public class BrowserCustomizationOptions
1717
/// Specifies if the public client application should used an embedded web browser
1818
/// or the system default browser
1919
/// </summary>
20+
[Obsolete("This option requires additional dependencies on Microsoft.Identity.Client.Desktop and is no longer supported. Consider using brokered authentication instead")]
2021
public bool? UseEmbeddedWebView { get; set; }
2122

2223
internal SystemWebViewOptions SystemBrowserOptions;

sdk/identity/Azure.Identity/src/Credentials/InteractiveBrowserCredentialOptions.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,9 @@ public string TenantId
9292
{
9393
ErrorMessage = BrowserCustomization.ErrorMessage,
9494
SuccessMessage = BrowserCustomization.SuccessMessage,
95+
#pragma warning disable CS0618 // Type or member is obsolete
9596
UseEmbeddedWebView = BrowserCustomization.UseEmbeddedWebView ?? false
97+
#pragma warning restore CS0618 // Type or member is obsolete
9698
};
9799
}
98100
}

sdk/identity/Azure.Identity/src/MsalPublicClient.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,10 +286,12 @@ protected virtual async ValueTask<AuthenticationResult> AcquireTokenInteractiveC
286286
}
287287
if (browserOptions != null)
288288
{
289+
#pragma warning disable CS0618 // Type or member is obsolete
289290
if (browserOptions.UseEmbeddedWebView.HasValue)
290291
{
291292
builder.WithUseEmbeddedWebView(browserOptions.UseEmbeddedWebView.Value);
292293
}
294+
#pragma warning restore CS0618 // Type or member is obsolete
293295
if (browserOptions.SystemBrowserOptions != null)
294296
{
295297
builder.WithSystemWebViewOptions(browserOptions.SystemBrowserOptions);

sdk/identity/Azure.Identity/tests/InteractiveBrowserCredentialTests.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,9 @@ public async Task BrowserCustomizationsHtmlMessage([Values(null, "<p> Login Succ
339339
{
340340
InteractiveAuthFactory = (_, _, _, _, _, _, browserOptions, _) =>
341341
{
342+
#pragma warning disable CS0618 // Type or member is obsolete
342343
Assert.AreEqual(false, browserOptions.UseEmbeddedWebView);
344+
#pragma warning restore CS0618 // Type or member is obsolete
343345
Assert.AreEqual(htmlMessageSuccess, browserOptions.SuccessMessage);
344346
Assert.AreEqual(htmlMessageError, browserOptions.ErrorMessage);
345347
return AuthenticationResultFactory.Create(Guid.NewGuid().ToString(), expiresOn: DateTimeOffset.UtcNow.AddMinutes(5));
@@ -349,7 +351,9 @@ public async Task BrowserCustomizationsHtmlMessage([Values(null, "<p> Login Succ
349351
{
350352
BrowserCustomization = new BrowserCustomizationOptions()
351353
{
354+
#pragma warning disable CS0618 // Type or member is obsolete
352355
UseEmbeddedWebView = false,
356+
#pragma warning restore CS0618 // Type or member is obsolete
353357
SuccessMessage = htmlMessageSuccess,
354358
ErrorMessage = htmlMessageError
355359
}
@@ -367,7 +371,9 @@ public async Task BrowserCustomizedUseEmbeddedWebView([Values(null, true, false)
367371
{
368372
InteractiveAuthFactory = (_, _, _, _, _, _, browserOptions, _) =>
369373
{
374+
#pragma warning disable CS0618 // Type or member is obsolete
370375
Assert.AreEqual(useEmbeddedWebView, browserOptions.UseEmbeddedWebView);
376+
#pragma warning restore CS0618 // Type or member is obsolete
371377
Assert.AreEqual(htmlMessageError, browserOptions.ErrorMessage);
372378
return AuthenticationResultFactory.Create(Guid.NewGuid().ToString(), expiresOn: DateTimeOffset.UtcNow.AddMinutes(5));
373379
}
@@ -376,7 +382,9 @@ public async Task BrowserCustomizedUseEmbeddedWebView([Values(null, true, false)
376382
{
377383
BrowserCustomization = new BrowserCustomizationOptions()
378384
{
385+
#pragma warning disable CS0618 // Type or member is obsolete
379386
UseEmbeddedWebView = useEmbeddedWebView,
387+
#pragma warning restore CS0618 // Type or member is obsolete
380388
ErrorMessage = htmlMessageError
381389
}
382390
};

0 commit comments

Comments
 (0)