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 install
to 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.