The ADAL iOS SDK is a framework that allows developers to easily add authentication capabilities to their iOS applications. It provides a simple and secure way to authenticate users and obtain access tokens to access protected resources.


  • Supports various authentication flows, including authorization code, implicit, and client credentials.
  • Handles token caching and refreshing automatically.
  • Provides secure, encrypted storage for tokens.
  • Supports single sign-on across applications.
  • Integrates with Azure Active Directory, Microsoft accounts, and other OAuth 2.0 providers.


To install the ADAL iOS SDK, follow these steps:

  1. Open your Xcode project.
  2. Go to “File” -> “Swift Packages” -> “Add Package Dependency”.
  3. Enter the GitHub URL of the ADAL iOS SDK repository.
  4. Select the ADAL iOS SDK package and click “Next” to add the dependency.
  5. Wait for Xcode to resolve and fetch the package.
  6. Once the package is fetched, click “Finish” to add it to your project.


To use the ADAL iOS SDK in your application, follow these steps:

  1. Import the ADAL iOS SDK framework into your project.
  2. Create an instance of the ADAuthenticationContext class.
  3. Set the authentication context’s authority to the desired authority.
  4. Set the authentication context’s client ID to your application’s client ID.
  5. Call the acquireTokenWithResource method to acquire an access token.
  6. Use the obtained access token to authenticate requests to protected resources.


Here are some code examples illustrating the usage of the ADAL iOS SDK:

// Import ADAL iOS SDK
@import ADAL;

// Create an instance of the ADAuthenticationContext class
ADAuthenticationContext *authContext = [[ADAuthenticationContext alloc] initWithAuthority:@""

// Set the authentication context's client ID
[authContext setClientId:@"YOUR_CLIENT_ID"];

// Acquire an access token
[authContext acquireTokenWithResource:@""
                          redirectUri:[NSURL URLWithString:@"YOUR_REDIRECT_URI"]
                       completionBlock:^(ADAuthenticationResult *result) {
                           if (result.status == AD_SUCCEEDED) {
                               // Use the obtained access token to authenticate requests
                               NSLog(@"Access token: %@", result.accessToken);
                           } else {
                               // Handle error
                               NSLog(@"Error: %@", result.error.errorDetails);


Here are some additional resources to help you learn more about the ADAL iOS SDK:


The ADAL iOS SDK provides developers with a convenient way to implement authentication in their iOS applications. With its support for various authentication flows, token caching, and integration with popular identity providers, the ADAL iOS SDK simplifies the process of authenticating users and accessing protected resources.