WFOAuth2
WFOAuth2 is an extensible OAuth 2 library for macOS, iOS, tvOS and watchOS. It aims to simplify authenticating your app with a variety of services.
Supported Services
Slack | |
Uber |
...and more to come!
Usage
WFOAuth2 is very straightforward to use. This is how you authenticate with Google, for example:
WFGoogleOAuth2SessionManager *sessionManager = [[WFGoogleOAuth2SessionManager alloc] initWithClientID:@"XXXX-yyyy.apps.googleusercontent.com"
clientSecret:nil];
NSURL *redirectURI = [NSURL URLWithString:WFGoogleNativeRedirectURIString];
WKWebView *webView = [sessionManager authorizationWebViewWithScope:WFGoogleProfileScope
redirectURI:redirectURI
completionHandler:^(WFOAuth2Credential *credential, NSError *error) {
NSLog(@"Token: %@", credential.accessToken);
}];
// Display web view to user
Installation
Carthage
To integrate WFOAuth2 into your Xcode project using Carthage, specify it in your Cartfile
:
github "DeskConnect/WFOAuth2" ~> 0.1
CocoaPods
To integrate WFOAuth2 into your Xcode project using CocoaPods, specify it in your Podfile
:
target 'MyApp' do
pod 'WFOAuth2', '~> 0.1'
end
Swift Package Manager
To integrate WFOAuth2 into your project using the Swift Package Manager, specify it in your Package.swift
file:
import PackageDescription
let package = Package(
name: "MyApp",
dependencies: [
.Package(url: "https://github.com/DeskConnect/WFOAuth2.git", majorVersion: 0, minor: 1),
]
)
Contributing
If you are interested in contributing to WFOAuth2, check out the list of possible enhancements. We also want to add support for as many services as possible, so you could contribute a WFOAuth2SessionManager
subclass for your favorite service.
License
WFOAuth2 is available under the MIT license. See the LICENSE
file for more info.