-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
- Loading branch information
1 parent
4e0abac
commit 5e38381
Showing
27 changed files
with
3,861 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
// swift-tools-version:5.3 | ||
// The swift-tools-version declares the minimum version of Swift required to build this package. | ||
|
||
import PackageDescription | ||
|
||
let package = Package( | ||
name: "XmBindIdSDK", | ||
platforms: [ | ||
.iOS(.v11), | ||
], | ||
products: [ | ||
// Products define the executables and libraries a package produces, and make them visible to other packages. | ||
.library( | ||
name: "XmBindIdSDK", | ||
targets: ["XmBindIdSDK"]), | ||
], | ||
dependencies: [ | ||
// Dependencies declare other packages that this package depends on. | ||
// .package(url: /* package url */, from: "1.0.0"), | ||
], | ||
targets: [ | ||
// Targets are the basic building blocks of a package. A target can define a module or a test suite. | ||
// Targets can depend on other targets in this package, and on products in packages this package depends on. | ||
// .binaryTarget(name: "XmBindIdSDK", url: "@REPOSITORY_URL@/raw/release/@VERSION_NUMBER@/Sources/@FRAMEWORK_FILE_NAME@", checksum: "@FRAMEWORK_CHECKSUM@"), | ||
.binaryTarget(name: "XmBindIdSDK", path: "Sources/XmBindIdSDK.xcframework") | ||
//.target(name: "XmBindIdSDK", dependencies: []), | ||
//.testTarget(name: "XmBindIdSDKTests", dependencies: ["XmBindIdSDK"]), | ||
] | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,70 @@ | ||
# bindid-ios-sdk | ||
# XmBindIdSDK | ||
|
||
# Introduction | ||
|
||
Welcome to the future of customer authentication—strong, portable authentication across all your channels. | ||
|
||
## What is BindID? | ||
|
||
The BindID service is an app-less, strong portable authenticator offered by [Transmit Security](https://www.transmitsecurity.com/). BindID uses FIDO-based biometrics for secure, frictionless, and consistent customer authentication. With one click to create new accounts or sign into existing ones, BindID eliminates passwords and the inconveniences of traditional credential-based logins. | ||
|
||
BindID is a great solution for various use cases, including: | ||
|
||
- Passwordless authentication for web and mobile applications. | ||
- User authentication for call centers, IVR, and voice assistance. | ||
- Frictionless new account opening. | ||
- Secure verification for infrequent users. | ||
|
||
## Authentication and Trust | ||
|
||
Combining device-based FIDO biometrics with the OpenID Connect \(OIDC\) protocol, BindID provides a secure and easy-to-deploy authentication process that can be used for any app, in any channel. | ||
|
||
Here's how it works: | ||
|
||
1. User performs an action that requires authentication \(such as login\). | ||
2. User executes an authentication process with BindID—which may also include registering to BindID, registering a strong authenticator \(e.g., FIDO2 biometrics\), and additional data verifications \(e.g., SMS OTP\). | ||
3. Upon successful authentication, you receive user metadata—which provides user profile info, provides trust indicators, and reflects all their known devices across all providers that use BindID. | ||
4. If needed, you perform your own additional authentication for the user \(e.g., for new users\), and report this back to BindID, along with a user alias that represents a user in your system. | ||
|
||
|
||
## Installation | ||
|
||
### CocoaPods | ||
|
||
[CocoaPods](https://cocoapods.org) is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate XmBindIdSDK into your Xcode project using CocoaPods, specify it in your `Podfile`: | ||
|
||
```ruby | ||
pod 'XmBindIdSDK', '~> 1.19.0' | ||
``` | ||
|
||
### Carthage | ||
|
||
[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate XmBindIdSDK into your Xcode project using Carthage, specify it in your `Cartfile`: | ||
|
||
```ogdl | ||
github "https://github.com/TransmitSecurity/bindid-ios-sdk" ~> 1.19.0 | ||
``` | ||
|
||
### Swift Package Manager | ||
|
||
The [Swift Package Manager](https://swift.org/package-manager/) is a tool for automating the distribution of Swift code and is integrated into the `swift` compiler. It is in early development, but XmBindIdSDK does support its use on supported platforms. | ||
|
||
Once you have your Swift package set up, adding XmBindIdSDK as a dependency is as easy as adding it to the `dependencies` value of your `Package.swift`. | ||
|
||
```swift | ||
dependencies: [ | ||
.package(url: "https://github.com/TransmitSecurity/bindid-ios-sdk.git", .upToNextMajor(from: "1.19.0")) | ||
] | ||
``` | ||
|
||
### Manually | ||
|
||
If you prefer not to use any of the aforementioned dependency managers, you can integrate XmBindIdSDK into your project manually. | ||
|
||
#### Embedded Framework | ||
|
||
- Download the XmBindIdSDK framework manullay, open the new `XmBindIdSDK` folder, and drag the `XmBindIdSDK.xcframework` into the Project Frameworks directory of your application's Xcode project. | ||
|
||
- And that's it! | ||
|
||
> The `XmBindIdSDK.framework` is automagically added as a target dependency, linked framework and embedded framework in a copy files build phase which is all you need to build on the simulator and a device. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
<?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>AvailableLibraries</key> | ||
<array> | ||
<dict> | ||
<key>LibraryIdentifier</key> | ||
<string>ios-x86_64-simulator</string> | ||
<key>LibraryPath</key> | ||
<string>XmBindIdSDK.framework</string> | ||
<key>SupportedArchitectures</key> | ||
<array> | ||
<string>x86_64</string> | ||
</array> | ||
<key>SupportedPlatform</key> | ||
<string>ios</string> | ||
<key>SupportedPlatformVariant</key> | ||
<string>simulator</string> | ||
</dict> | ||
<dict> | ||
<key>LibraryIdentifier</key> | ||
<string>ios-arm64</string> | ||
<key>LibraryPath</key> | ||
<string>XmBindIdSDK.framework</string> | ||
<key>SupportedArchitectures</key> | ||
<array> | ||
<string>arm64</string> | ||
</array> | ||
<key>SupportedPlatform</key> | ||
<string>ios</string> | ||
</dict> | ||
</array> | ||
<key>CFBundlePackageType</key> | ||
<string>XFWK</string> | ||
<key>XCFrameworkFormatVersion</key> | ||
<string>1.0</string> | ||
</dict> | ||
</plist> |
Oops, something went wrong.