AeroGearOAuth2

Client library for OAuth2/OpenID Connect

Showing:

Popularity

Downloads/wk

0

GitHub Stars

156

Maintenance

Last Commit

2yrs ago

Contributors

16

Package

Dependencies

1

License

Apache License, Version 2.0

Categories

Readme

aerogear-ios-oauth2

Maintenance circle-ci License GitHub release CocoaPods Platform

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.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial