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) |
- 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
In your Podfile
add:
pod 'AeroGearOAuth2'
and then:
pod install
to install your dependencies
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
})
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
}
For more details about that please consult our documentation.
Take a look in our demo apps:
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
Join our user mailing list for any questions or help! We really hope you enjoy app development with AeroGear!
If you found a bug please create a ticket for us on Jira with some steps to reproduce it.