2.24.1 (2021-11-30)
Fixed
2.24.0 (2021-10-12)
Added
2.23.1 (2021-09-21)
Changed
Fixed
2.23.0 (2021-07-20)
Added
2.22.3 (2021-06-07)
Changed
2.22.2 (2021-05-20)
Fixed
2.22.1 (2021-04-13)
Fixed
2.22.0 (2021-03-09)
[Full Changelog](https://github.com/auth0/Lock.swift/compare/2.21.0...2.22.0
Added
- Support OOB MFA challenges #649 (ejensen)
- Added support for terms and privacy button color customization #652 (ejensen)
Changed
Fixed
- Fix bot detection CAPTCHA not being shown #651 (ejensen)
- Fixed enterprise form validation [SDK-2327] #655 (Widcket)
- Project and SwiftLint warning fixes #657 (ejensen)
- Fixed retain cycles on DatabasePresenter [SDK-2360] #660 (Widcket)
2.21.0 (2020-12-04)
[Full Changelog](https://github.com/auth0/Lock.swift/compare/2.20.0...2.21.0
Added
2.20.0 (2020-10-22)
[Full Changelog](https://github.com/auth0/Lock.swift/compare/2.19.1...2.20.0
Changed
2.19.1 (2020-10-05)
[Full Changelog](https://github.com/auth0/Lock.swift/compare/2.19.0...2.19.1
Changed
- Increased tappable surface of close and back buttons #635 (Widcket)
- Updated 37 Signals icon and display name [SDK-1945] #633 (Widcket)
2.19.0 (2020-08-25)
Added
2.18.0 (2020-07-14)
Changed
- Improved usability and readability #618 (horsejockey)
2.17.2 (2020-06-18)
Fixed
2.17.1 (2020-05-18)
Changed
2.17.0 (2020-04-22)
Fixed
- Fixed auth button highlighted color issue #611 (Widcket)
- Changed the background color to black #610 (Widcket)
- Fixed signup form state bug [SDK-1490] #608 (Widcket)
Security
- [Snyk] Fix for 3 vulnerabilities #606 (crew-security)
2.16.1 (2020-03-10)
Fixed
2.16.0 (2020-03-02)
Changed
- Updated AuthButton style to match Lock.js [SDK-1376] #600 (Widcket)
- Updated AuthButton style [SDK-1376] #599 (Widcket)
2.15.0 (2020-02-06)
Added
Fixed
- Internationalised hardcoded strings #595 (Widcket)
- Made email/domain match case-insensitive #594 (Widcket)
2.14.0 (2020-01-06)
Added
- Allowed customization of rule text color [SDK-1243] #590 (Widcket)
- Added support for hidden CustomTextField #587 (ejensen)
- Added default styling for Sign in with Apple social login button #586 (ejensen)
- Added Passwordless support for OIDC conformant clients [SDK-1186] #591 (Widcket)
2.13.2 (2019-11-27)
Fixed
2.13.1 (2019-10-14)
Fixed
2.13.0 (2019-09-30)
Deprecated
Fixed
2.12.0 (2019-08-27)
Added
2.11.0 (2019-07-26)
Added
- Expanded username validation characters #560 (cocojoe)
- Added support for rootAttributes #557 (cocojoe)
Changed
Fixed
- Fixed use default .fullScreen modalPresentationStyle #559 (cocojoe)
- Fix secondary button color after switching tabs #555 (mariancerny)
2.10.1 (2019-05-07)
From this release on, the option to display social connections in small styled buttons is no longer available due to branding compliance reasons. All the social connections will now be displayed as large styled buttons.
Changed
- Update Email validation to allow uppercase characters #551 (cocojoe)
- Changed OAuth Google logo inline with new compliance #548 (cocojoe)
2.10.0 (2019-04-25)
Added
- Added Swift 5 / Xcode 10.2 support #545 (cocojoe)
- UITextContentType support in InputField #542 (ejensen)
Changed
2.9.0 (2018-12-12)
Added
- Update Dependencies #535 (cocojoe)
- Added Multiple Swift CI Support #530 (cocojoe)
- Added support for Swift 4.2 #529 (guykogus)
- Added OIDC MFA Support #528 (cocojoe)
Changed
2.8.0 (2018-10-05)
Added
2.7.0 (2018-09-18)
Added
Changed
Deprecated
Fixed
2.6.0 (2018-06-12)
Added
- Updated Auth0 Shipper Plugin #508 (cocojoe)
- Added
configurationBaseURL
option for Custom Domains support #505 (cocojoe) - Added
mustAcceptTerms
option for Sign up #503 (cocojoe)
Changed
Fixed
2.5.1 (2018-01-30)
Changed
2.5.0 (2018-01-10)
Added
- Updated Libs #488 (cocojoe)
- Fix iPhone X Use top margin guide for Banner #481 (cocojoe)
- Added Swift 3.2/4.0 Compatibility #480 (cocojoe)
- Added Circle CI 2.0 YML #478 (cocojoe)
2.4.2 (2017-11-13)
Fixed
2.4.1 (2017-10-19)
Changed
2.4.0 (2017-09-20)
Changed
- Disabled Code coverage Xcode 9 #467 (cocojoe)
- Update Nimble lib and test code (Fixes tests in Xcode 9) #464 (cocojoe)
Fixed
- Fix self retain cycle in DatabaseView #463 (cocojoe)
- Fix - Custom field validation on form submission #462 (cocojoe)
- Fix text replacement on return #460 (cocojoe)
- Fixed Signup Bugs #455 (cocojoe)
- Fix SSO in Database with allow option #450 (cocojoe)
2.3.1 (2017-07-11)
Added
- Added Error message on database user creation if user already exists #443 (f2m2rd)
- Added allowShowPassword option, toggle password text visibility #442 (cocojoe)
Changed
2.3.0 (2017-06-06)
Full Changelog Closed issues
- Add style properties for the status bar #416
- CustomTextField & sign up form should support fields without icons #409
Added
- Added Custom Rule Error support #436 (adolfo)
- Expand Lock style customization #432 (cocojoe)
- 1Password Support for Database Connections #422 (cocojoe)
- Added UnrecoverableError support and retry links #419 (cocojoe)
2.2.0 (2017-04-25)
Added
- Add palpal-sandbox support #431 (ziluvatar)
- NativeAuth provider check and fallback in Auth0OAuth2Interactor #418 (cocojoe)
- Added Passwordless SMS Support #414 (cocojoe)
- Added login_hint support to Enterprise Connections #413 (cocojoe)
- Passwordless Email (Code/Link) and Social #395 (cocojoe)
2.1.0 (2017-03-13)
Added
- Added Connection Scope support for OAuth2 connections #386 (cocojoe)
- Native authentication handler support #377 (cocojoe)
Changed
2.0.0 (2017-02-16)
Added
- Show error when using audience in non OIDC mode #391 (hzalaz)
- Add centralized error processing to Dispatcher #374 (cocojoe)
- Add Fatal Erorrs to UnrecoverableError for Debug Builds #373 (cocojoe)
- Auto close on success event behaviour and customization #370 (cocojoe)
- Critical error handling and presentation #367 (cocojoe)
Changed
- i18n strings file for Base language in Lock #393 (hzalaz)
- Change AD screens styling #384 (hzalaz)
- Navigate to Login screen after ResetPassword and Signup events #369 (cocojoe)
Fixed
- Fixed single connection behaviour for enterprise #387 (hzalaz)
- Fixed crash when loading any enterprise connection with no name #385 (hzalaz)
- Fix signup password policy view enforcement on single screen #371 (cocojoe)
2.0.0-rc.2 (2017-01-10)
Added
- Disable log in after sign up #365 (cocojoe)
- Allow to hide main screen title #362 (cocojoe)
- OIDC Conformant toggle #361 (cocojoe)
Fixed
2.0.0-rc.1 (2016-12-16)
Added
- Feature password policy #354 (cocojoe)
- Enterprise single domain support #343 (cocojoe)
- Enterprise Active Auth #342 (cocojoe)
- Enterprise support with db #340 (cocojoe)
- Enterprise support with social #339 (cocojoe)
- Enterprise Connection only authentication #336 (cocojoe)
Changed
- Compatibility updates against latest Auth0.Swift #356 (cocojoe)
- Allow developer to get controller to show lock. #349 (hzalaz)
- Migrate codebase to Swift 3.0 #345 (cocojoe)
Fixed
2.0.0-beta.2 (2016-09-20)
Added
- Username validation improvements #324 (hzalaz)
- Custom oauth2 style #318 (hzalaz)
- Custom Sign up fields #316 (hzalaz)
- Include more lock options #313 (hzalaz)
- Introduce Lock Style #312 (hzalaz)
- Blur Header background #311 (hzalaz)
- Load connections from Auth0 #310 (hzalaz)
2.0.0-beta.1 (2016-08-19)
Lock for iOS rewritten in Swift
First to import Lock.swift
import Lock
then in your AppDelegate.swift
add the following
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
return Lock.resumeAuth(url, options: options)
}
In order to use Lock you need to provide your Auth0 Client Id and Domain, either with a Property List file
Auth0 ClientId & Domain can be found in your Auth0 Dashboard
In your application bundle you can add a plist
file named Auth0.plist
with the following format
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ClientId</key>
<string>{YOUR_CLIENT_ID}</string>
<key>Domain</key>
<string>{YOUR_DOMAIN}</string>
</dict>
</plist>
Lock Classic handles authentication using Database, Social & Enterprise connections.
Currenty Lock.swift only supports Database & Social authentication and you need to tell Lock what connections it should use
To show Lock.swift, add the following snippet in any of your UIViewController
Lock
.classic()
.connections {
$0.database(name: "Username-Password-Authentication", requiresUsername: true)
}
.options {
$0.closable = false
}
.on { result in
switch result {
case .Success(let credentials):
print("Obtained credentials \(credentials)")
case .Failure(let cause):
print("Failed with \(cause)")
case .Cancelled:
print("User cancelled")
}
}
.present(from: self)
Eventually Lock.swift will be able to load your application configuration automatically, but until then you should describe what connections it should use.
Before presenting Lock.swift you can tell it what connections it should display and use to authenticate an user. You can do that by calling the method and supply a closure that can specify the connections
.connections { connections in
// Your connections
}
So if you need a database connection you can call
connections.database(name: "{CONNECTION_NAME}", requiresUsername: true)
Or a social connection
connections.social(name: "{CONNECTION_NAME}", style: .Facebook)
In Lock.swift options you can turn on/off logging capabilities
Lock
.classic()
.options {
$0.logLevel = .All
$0.logHttpRequest = true
}