You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ Microsoft Authentication Library for iOS and macOS
7
7
|[MSAL iOS and macOS documentation](https://learn.microsoft.com/en-us/entra/msal/objc/)|•[Microsoft Entra ID (workforce samples)](https://learn.microsoft.com/en-us/entra/identity-platform/sample-v2-code?tabs=framework#ios)<br/>•[Microsoft Entra External ID (customer samples)](https://learn.microsoft.com/en-us/entra/external-id/customers/samples-ciam-all?tabs=apptype#mobile)|[ SDK reference](https://azuread.github.io/microsoft-authentication-library-for-objc/)|[Get support](README.md#community-help-and-support)|[Feedback](https://forms.office.com/r/xuBV0CzEih)|
8
8
9
9
> ⚠️ **MSAL 2.x Released with Breaking Changes**
10
-
> Please review the [MSAL 2.x for iOS/macOS – Major Release Announcement & Migration Guide](docs/MSAL_2x_Migration_Guide.md) for full details on what changed and how to migrate.
10
+
> Review the [MSAL 2.x for iOS/macOS – Major Release Announcement & Migration Guide](docs/MSAL_2x_Migration_Guide.md) for a complete overview of the changes and step-by-step migration instructions.
11
11
12
12
The Microsoft Authentication Library (MSAL) for iOS and macOS is an auth SDK that can be used to seamlessly integrate authentication into your apps using industry standard OAuth2 and OpenID Connect. It allows you to sign in users or apps with Microsoft identities. These identities include Microsoft Entra ID work and school accounts, personal Microsoft accounts, social accounts, and customer accounts.
Copy file name to clipboardExpand all lines: docs/MSAL_2x_Migration_Guide.md
+83-68Lines changed: 83 additions & 68 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,15 +14,15 @@ This guide will help you:
14
14
15
15
#### What Changed
16
16
17
-
In MSAL 2.x, all enterprise (AAD) applications must specify a valid redirect URI in the format: `msauth.[BUNDLE_ID]://auth`.
17
+
In **MSAL 2.x**, all enterprise **(AAD)** applications must specify a valid redirect URI in the format: `msauth.[BUNDLE_ID]://auth`.
18
18
19
-
For applications migrating from ADAL, redirect URIs formatted as `<scheme>://[BUNDLE_ID]` remain valid and are still supported in MSAL 2.x.
19
+
For applications migrating from **ADAL**, redirect URIs formatted as `<scheme>://[BUNDLE_ID]` remain valid and are still supported in **MSAL 2.x**.
20
20
21
21
📖 For more information, see: [MSAL Redirect URI Format Requirements](https://learn.microsoft.com/en-us/entra/msal/objc/redirect-uris-ios#msal-redirect-uri-format-requirements)
22
22
23
23
#### Why It Matters
24
24
25
-
This standardization enables secure and valid redirection to brokered authentication with Microsoft Authenticator or Company Portal.
25
+
This standardization enables secure and valid redirection to brokered authentication with **Microsoft Authenticator** or **Company Portal**.
26
26
27
27
#### How to Migrate
28
28
@@ -32,7 +32,7 @@ In the Azure Portal under-App Registrations > Authentication, configure a redire
32
32
33
33
Note: If migrating from ADAL, the `<scheme>://[BUNDLE_ID]` format is still supported.
34
34
35
-
⚠️ Important: Ensure this redirect URI is configured across all app targets and extensions (such as Share Extensions) to enable smooth brokered authentication.
35
+
⚠️ Important: Ensure this redirect URI is configured across all **app targets and extensions** (such as Share Extensions) to enable smooth brokered authentication.
36
36
37
37
##### 2. Update Info.plist
38
38
@@ -66,38 +66,33 @@ Include the following in Info.plist under LSApplicationQueriesSchemes:
Note: Remember to replace any placeholder values with your actual app-specific values
103
98
@@ -133,21 +128,20 @@ If an invalid redirect URI is provided for enterprise (AAD) scenarios, MSAL will
133
128
Starting with **MSAL 2.x** for **iOS** and **macOS**, providing a valid parent view controller is **mandatory** for any interactive authentication flow.
134
129
In **MSAL 1.x**, it was optional for macOS.
135
130
136
-
A valid parent view controller must be **non-nil** and its view must be attached to a window (i.e., `parentViewController.view.window != nil`).
131
+
A valid parent view controller must be **non-nil** and its view must be attached to a valid **window** (i.e., `parentViewController.view.window != nil`).
137
132
138
133
#### Why It Matters
139
134
140
135
This ensures that the authentication UI can be correctly presented over the app's visible window and prevents runtime presentation issues.
141
136
142
137
#### How to Migrate
143
138
144
-
##### 1. Initialize MSALPublicClientApplication using the configured redirect URI
139
+
##### 1. Create MSALWebviewParameters with a valid parent view controller with its view attached to a valid window
@@ -206,7 +199,7 @@ Starting with **MSAL 2.x**, all properties previously declared in the `MSALAccou
206
199
207
200
#### Why It Matters
208
201
209
-
This change **consolidates all account-related properties** into a single protocol, making it easier to mock and abstract in tests or when building protocol-based systems. It removes the need to rely on category headers or internal implementation details.
202
+
This **consolidates all account-related properties** into a single protocol, enabling mocking and protocol-based abstraction without exposing internal implementation.
210
203
211
204
#### How to Migrate
212
205
@@ -243,7 +236,7 @@ if account.isSSOAccount {
243
236
244
237
#### What Changed
245
238
246
-
All deprecated APIs from MSAL 1.x are removed in 2.x. This includes deprecated initializers, account management methods, token acquisition methods, logging and telemetry interfaces.
239
+
All deprecated APIs from **MSAL 1.x** are removed in **MSAL 2.x**. This includes deprecated initializers, account management methods, token acquisition methods, logging and telemetry interfaces.
247
240
248
241
#### Why It Matters
249
242
@@ -263,28 +256,34 @@ This removes reliance on outdated methods, streamlines code maintenance, and ens
0 commit comments