aerogear-ios-oauth2
OAuth2 Client based on aerogear-ios-http.
| Project Info | |
|---|---|
| License: | Apache License, Version 2.0 | 
| Build: | CocoaPods | 
| Languague: | Swift 4 | 
| Documentation: | http://aerogear.org/ios/ | 
| Issue tracker: | https://issues.jboss.org/browse/AGIOS | 
| Mailing lists: | aerogear-users (subscribe) | 
| aerogear-dev (subscribe) | 
Table of Content
Features
- Account manager for multiple OAuth2 accounts,
 - Request access and refresh token,
 - Grant access through secure external browser and URI schema to re-enter app,
 - (implicit or explicit) refresh tokens,
 - Revoke tokens,
 - Permanent secure storage,
 - Adaptable to OAuth2 specific providers. Existing extensions: Google, Facebook, Keycloak
 - OpenID Connect login
 
Installation
CocoaPods
In your Podfile add:
pod 'AeroGearOAuth2'and then:
pod installto install your dependencies
Usage
Grant for GET with a predefined config like Facebook
let facebookConfig = FacebookConfig(
    clientId: "YYY",
    clientSecret: "XXX",
    scopes:["photo_upload, publish_actions"]
)
let oauth2Module = AccountManager.addFacebookAccount(config: facebookConfig)
let http = Http()
http.authzModule = oauth2Module
http.request(method: .get, path: "/get", completionHandler: {(response, error) in
	// handle response
})OpenID Connect with Keycloak
let keycloakConfig = KeycloakConfig(
    clientId: "sharedshoot-third-party",
    host: "http://localhost:8080",
    realm: "shoot-realm",
    isOpenIDConnect: true
)
let oauth2Module = AccountManager.addKeycloakAccount(config: keycloakConfig)
let http = Http()
http.authzModule = oauth2Module
oauth2Module.login {(accessToken: AnyObject?, claims: OpenIdClaim?, error: NSError?) in // [1]
    // Do your own stuff here
}
Documentation
For more details about that please consult our documentation.
Demo apps
Take a look in our demo apps:
Development
If you would like to help develop AeroGear you can join our developer's mailing list, join #aerogear on Freenode, or shout at us on Twitter @aerogears.
Also takes some time and skim the contributor guide
Questions?
Join our user mailing list for any questions or help! We really hope you enjoy app development with AeroGear!
Found a bug?
If you found a bug please create a ticket for us on Jira with some steps to reproduce it.