Microsoft Authentication Library Preview for iOS The MSAL library preview for iOS gives your app the ability to begin using the by supporting and in a converged experience using industry standard OAuth2 and OpenID Connect. The library also supports for those using our hosted identity management service. Note that for the preview, only iOS is supported. MacOS support will be provided later. Important Note about the MSAL Preview These libraries are suitable to use in a production environment.
![For For](/uploads/1/2/5/6/125660436/398072654.png)
Revoke access to Office 365 applications Well, with the AzureAD PowerShell module we finally have a proper way to revoke refresh tokens for Office 365 users. Namely, we can use the Revoke-AzureADUserAllRefreshToken cmdlet to invalidate the refresh token.
We provide the same production level support for these libraries as we do our current production libraries. During the preview we reserve the right to make changes to the API, cache format, and other mechanisms of this library without notice which you will be required to take along with bug fixes or feature improvements This may impact your application. For instance, a change to the cache format may impact your users, such as requiring them to sign in again and an API change may require you to update your code.
When we provide our General Availability release later, we will require you to update your application to our General Availabilty version within six months to continue to get support. Example in Swift. /usr/local/bin/carthage copy-frameworks and add the paths to the frameworks you want to use under “Input Files”, e.g.: $(SRCROOT)/Carthage/Build/iOS/MSAL.framework This script works around an triggered by universal binaries and ensures that necessary bitcode-related files and dSYMs are copied when archiving.
With the debug information copied into the built products directory, Xcode will be able to symbolicate the stack trace whenever you stop at a breakpoint. This will also enable you to step through third-party code in the debugger. When archiving your application for submission to the App Store or TestFlight, Xcode will also copy these files into the dSYMs subdirectory of your application’s.xcarchive bundle. Using Git Submodule If your project is managed in a git repository you can include MSAL as a git submodule.
First check the GitHub Releases Page for the latest release tag. Replace with that version. git submodule add msal. cd msal. git checkout tags/. git submodule update -init -recursive.
cd. git add msal.
git commit -m 'Use MSAL git submodule at '. git push Using CocoaPods You can use CocoaPods to remain up to date with MSAL with our latest major version 0.2. Include the following line in your podfile: pod 'MSAL', ' 0.2' Note: if you're checking out a particular branch or tag of MSAL, you will need to add the:submodules = true flag to your podfile, so that CocoaPods finds MSAL dependencies pod 'MSAL',:git = ':branch = 'master',:submodules = true You then you can run either pod install (if it's a new PodFile) or pod update (if it's an existing PodFile) to get the latest version of ADAL. Subsequent calls to pod update will update to the latest released version of MSAL as well. See for more information on setting up a PodFile Community Help and Support We use with the community to provide support. We highly recommend you ask your questions on Stack Overflow first and browse existing issues to see if someone has asked your question before.
If you find and bug or have a feature request, please raise the issue on. To provide a recommendation, visit our. Contribute We enthusiastically welcome contributions and feedback. You can clone the repo and start contributing now. Read our for more information. This project has adopted the. For more information see the or contact with any additional questions or comments.
Security Library This library controls how users sign-in and access services. We recommend you always take the latest version of our library in your app when possible. We use so you can control the risk associated with updating your app. As an example, always downloading the latest minor version number (e.g. Y.x) ensures you get the latest security and feature enhanements but our API surface remains the same. You can always see the latest version and release notes under the Releases tab of GitHub. Security Reporting If you find a security issue with our libraries or services please report it to with as much detail as possible.
Your submission may be eligible for a bounty through the program. Please do not post security issues to GitHub Issues or any other public site.
We will contact you shortly upon receiving the information. We encourage you to get notifications of when security incidents occur by visiting and subscribing to Security Advisory Alerts. Using MSAL Adding MSAL to your project. If you have not done so already, create an app listing at.
Clone the repository git clone. Add MSAL/MSAL.xcodeproj to your Project or Workspace. Add MSAL.framework to your Application's 'Embedded Binaries' and 'Linked Frameworks and Library Section'. Add your application's redirect URI scheme to your info.plist file, it will be in the format of msal. CFBundleURLTypes CFBundleTypeRole Editor CFBundleURLName $(PRODUCTBUNDLEIDENTIFIER) CFBundleURLSchemes msalyour-client-id-here See more info about configuring redirect uri for MSAL in our Our library uses the ASWebAuthenticationSession for authentication on iOS 12 by default. See more information about default values, and support for other iOS versions.
Add a new keychain group to your project Capabilities com.microsoft.adalcache. See more information about keychain groups for MSAL in our iOS 10 support If you choose to use SFSafariViewController (default on iOS 10) for MSAL authentication, the authorization response URL will be returned to the app via the iOS openURL app delegate method.
So you need to pass this through to the current authorization session. IOS 12 support Note: WKWebView drops network connection if device got locked on iOS 12. It is by design and not configurable. Objective-C You will need to add the following to your AppDelegate.m file.