WFOAuth2

WFOAuth2 is an extensible OAuth 2 library for macOS, iOS, tvOS and watchOS


License
MIT
Install
pod try WFOAuth2

Documentation

WFOAuth2

CocoaPods Compatible Carthage Compatible Swift Package Manager Platform

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

Google Google
Slack Slack
Uber 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.