• Stars
    star
    163
  • Rank 231,141 (Top 5 %)
  • Language
    Swift
  • License
    Apache License 2.0
  • Created about 10 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Client library for OAuth2/OpenID Connect

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.

More Repositories

1

offix

GraphQL Offline Client and Server
TypeScript
759
star
2

keycloak-metrics-spi

Adds a Metrics Endpoint to Keycloak
Java
536
star
3

aerogear-unifiedpush-server

🚀 AeroGear UnifiedPush Server
Java
457
star
4

create-graphql

Command-line utility to build production-ready servers with GraphQL.
JavaScript
440
star
5

graphback

Graphback - Out of the box GraphQL server and client
TypeScript
409
star
6

keycloak-connect-graphql

Add Keyloak Authentication and Authorization to your GraphQL server.
TypeScript
155
star
7

charmil

The framework for building modular plugin based CLI's using Cobra and Golang
Go
116
star
8

datasync-voyager

🚀 Complete GraphQL Node.js Server ready for production
TypeScript
51
star
9

OpenVolunteerPlatform

Platform for building volunteer management systems dedicated for local gov and charity organizations
TypeScript
51
star
10

aerogear-ios-http

Lightweight lib around NSURLSession to ease HTTP calls
Swift
45
star
11

aerogear-android-cookbook

Java
41
star
12

graphql-link

graphql-link is a GraphQL server that composes other GraphQL or OpenAPI endpoints
CSS
38
star
13

offix-android

Apollo GraphQL offline extensions for Android Platform
Kotlin
37
star
14

aerogear-cordova-push

✨ Cordova plugin to support AeroGear UnifiedPush notifications ✨
JavaScript
34
star
15

datasync-starter

GraphQL Low Code React and Node.js DataSync Application template
TypeScript
32
star
16

graphql-query-mapper

Query your GraphQL data efficiently
TypeScript
30
star
17

aerogear-ios-push

AeroGear UnifiedPush Client Registration SDK (Swift)
Swift
29
star
18

graphql-metadata

Annotate your graphql schema with lightweight directives
TypeScript
28
star
19

aerogear-ios-cookbook

Swift
23
star
20

android-showcase-template

Showcase template app for the AeroGear Android SDK
Java
21
star
21

graphql-testx

A GraphQL server for testing GraphQL applications or libraries based on Graphback
TypeScript
15
star
22

aerogear-android-push

Push provides support for integrating with push. Currently only using Firebase Cloud Messaging (FCM) with the AeroGear UnifiedPush Server (UPS)
Java
15
star
23

uniforms-patternfly

Uniforms patternfly
TypeScript
13
star
24

push-network-proxies

Simple mock/proxy servers for FCM and APNs
Java
13
star
25

aerogear.org

Jekyll based project site repo for aerogear.org
HTML
12
star
26

aerogear-unifiedpush-nodejs-client

Node.js API to access the Unified Push Server
JavaScript
12
star
27

aerogear-digger

Digger on Jenkins: An OpenSource Build Farm for mobile app builds in the cloud
Ruby
10
star
28

mobile-developer-console

Mobile Developer Console
CSS
9
star
29

aerogear-js-sdk

AeroGear Mobile SDK
TypeScript
9
star
30

mobile-security-service-operator

Go
9
star
31

mobile-docs

Documentation for setting up and using Mobile Services on OpenShift
JavaScript
8
star
32

aerogear-android-sdk

AeroGear Services Android SDK
Java
8
star
33

trira

A simple tool to sync Trello Cards with JIRA Tasks
JavaScript
8
star
34

modern-appdev-workshop

Workshop for enterprise enabled modern application development
TypeScript
6
star
35

aerogear-ios-sdk

AeroGear Services Swift SDK
Swift
6
star
36

graphql-home

AeroGear GraphQL projects and ideas
6
star
37

aerogear-unifiedpush-java-client

Java API to access the Unified Push Server
Java
6
star
38

charmil-host-example

Rhoas CLI as an Host example
Go
5
star
39

uniforms-ionic

Dynamic generation of React Forms using Ionic
TypeScript
5
star
40

unifiedpush-operator

☸️ Kubernetes operator for the AeroGear UnifiedPush Server
Go
4
star
41

native-android-example

Java
4
star
42

mobile-services-installer

Install Mobile Services on OpenShift
Shell
4
star
43

aerogear-digger-installer

Ansible role for installing AeroGear Digger on OpenShift
Groovy
4
star
44

ups-mock-data-loader

A tool that can be used to populate an UPS server with mock applications, variants and tokens
Java
3
star
45

unifiedpush-admin-client

Client library for Unified Push Administration
TypeScript
3
star
46

ios-showcase-template

Showcase template app for the AeroGear iOS SDK
Swift
3
star
47

aerogear-android-pipe

Pipe is a metaphor for connecting to a remote web service
Java
3
star
48

offix-react-native-example

Sample react app for offix.dev
TypeScript
3
star
49

charmil-plugin-example

Service registry artifacts commands from Rhoas as a plugin example
Go
2
star
50

ups-config-operator

Go
2
star
51

GSoC-2020

The landing page for potential Google Summer of Code students
2
star
52

aerogear-integration-tests

TypeScript
2
star
53

aerogear-push-js

Push support for cordova apps
TypeScript
2
star
54

mobile-security-service

Go
2
star
55

aerogear-parent

2
star
56

git-practical

Git Practical
2
star
57

unifiedpush-cli

A CLI to interact with the UnifiedPush Server
TypeScript
2
star
58

aerogear-android-core

Common components and interfaces which the rest of the AeroGear Android libraries depend on
Java
2
star
59

digger-android-slave-image

Dockerfile to create Jenkins slave images to build Android apps
Dockerfile
2
star
60

antora-ui

Styling used by antora to produce docs.aerogear.org
CSS
2
star
61

mobile-security

AeroGear Mobile Security https://docs.aerogear.org/mobile-security/latest/
HTML
1
star
62

aerogear-digger-node-client

Node.js integration lib
JavaScript
1
star
63

ag-cli

Aerogear Command Line Interface
TypeScript
1
star
64

charmil-starter

charmil-starter
Go
1
star
65

ups-operator-poc

A POC to demo how to convert an APB to an Ansible type operator
Python
1
star
66

docs.aerogear.org

Generated html for https://docs.aerogear.org
HTML
1
star
67

unifiedpush-cookbook

TypeScript
1
star
68

datasync-deployment

AeroGear DataSync Deployment
Shell
1
star
69

mobile-walkthrough

Data Sync Solution Pattern using GraphQL
1
star
70

aerogear-reactnative-push

React Native library for Unified Push
Java
1
star
71

xamarin-showcase-template

Xamarin showcase template
C#
1
star
72

test-suite

JavaScript
1
star
73

web-encrypted-storage

This repository is an example of how you can leverage the web storage api: https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API to provide secure storage on your device using the web crypto api: https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API
TypeScript
1
star