Code Monkey home page Code Monkey logo

aerogear-ios-sdk's Introduction

AeroGear Docker images

This is a set of Docker images related to Aerogear.

  • wildfly Docker files for AeroGear UnifiedPush Server, based on WildFly.

aerogear-ios-sdk's People

Contributors

aidenkeating avatar danielpassos avatar david-martin avatar jhellar avatar laurafitzgerald avatar pb82 avatar psturc avatar pwright avatar rachael-oregan avatar stephencoady avatar tomjackman avatar tommyj1994 avatar wojta avatar wtrocki avatar ziccardi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aerogear-ios-sdk's Issues

Allow to use bundled SDK's from ObjectiveC code

Description

Currently all top level SDK classes are not inheriting from NSObject.
@objc annotation is not present. This is considered an anti pattern for libraries that could/should also work with ObjectiveC code.

What is involved

Add top level objects should inherit from NSObject and have @objc applied

Update the mobile config parser to parse the version as UInt not String

Description

Currently the Core SDK is parsing the version property of a mobile configuration as a String. See MobileConfig This should be refactored to UInt because the mobile cli tool returns the mobile configuration version as an integer.

Steps to reproduce

Create a client in openshift and run mobile get clientconfig <client_id> --namespace=<namespace> -o json. Notice the version number is and integer not a String

wrong format is being used for the API docs

Description

According to the Apple Markup language guide, the API doc for swift code should be like this:

/**
 function description
 - parameters:
   - cubes: The cubes available for allocation
   - people: The people that require cubes
 */ 

But in the SDK, we are using this format:

 /**
     * Get configuration for specific service reference
     * @param serviceRef unique service reference uset to fetch configuration
     * @return MobileService instance or nil if configuration is missing service of that type
     */

It's not matching the Apple standard.

SSO support enhancement

Description

At the moment, the SSO support is achieved by using the AppAuth module. By default, on iOS 11 above, it will use SFAuthenticationSession to perform SSO.

However, based on our testing, it doesn't ALWAYS work (see this comment). It's hard to determine why sometimes SSO doesn't work. This is using AppAuth version 0.92.0.

However, on the latest version of the master branch, a commit is added to allow customise the browser to use. But it is not published to cocoapods yet, and we can not use it in the Podspec file if a module is not published.

Once there is a new release of AppAuth (greater than 0.92.0), we should look at upgrading the auth module to use it. Then we should add a configuration to allow developers to specify which browser they want to invoke for authentication. This will provide a reliable option for developers to perform SSO.

Tasks:

  • Update AppAuth to a version greater than 0.92.0
  • Provide a new configuration option to allow developers to specify which browser to use to perform authentication (example)
  • Update the iOS SSO document to show how to use the new configuration option

can not generate API docs

Description

It looks like the SDK is using Jazzy to generate the API docs. However, when following the instructions on jazzy, it doesn't work

Steps to reproduce

This is the command I run:

jazzy \
  --clean \
  --author AeroGear \
  --author_url https://www.aerogear.org \
  --github_url https://github.com/aerogear \
  --module-version 0.1.0 \
  --xcodebuild-arguments -scheme,AeroGearSdkExample \
  --module core \
  --output docs/swift_output \
  --theme docs/themes

and this is the error I get:

Running xcodebuild
Could not parse compiler arguments from `xcodebuild` output.
Please confirm that `xcodebuild` is building a Swift module.
Saved `xcodebuild` log file: /var/folders/6d/gvr23qrn6vbbp25_38kztbvc0000gn/T/xcodebuild-E37761DA-9A92-40B1-A04C-A162172D0C55.log
Failed to generate documentation
/Users/weili/.rvm/gems/ruby-2.2.6/gems/jazzy-0.9.1/lib/jazzy/executable.rb:36:in `execute_command': /Users/weili/.rvm/gems/ruby-2.2.6/gems/jazzy-0.9.1/bin/sourcekitten ["doc", "--module-name", "core", "--", "-scheme", "AeroGearSdkExample"] (RuntimeError)

Running xcodebuild

Could not parse compiler arguments from `xcodebuild` output.

Please confirm that `xcodebuild` is building a Swift module.

Saved `xcodebuild` log file: /var/folders/6d/gvr23qrn6vbbp25_38kztbvc0000gn/T/xcodebuild-E37761DA-9A92-40B1-A04C-A162172D0C55.log

Failed to generate documentation
	from /Users/weili/.rvm/gems/ruby-2.2.6/gems/jazzy-0.9.1/lib/jazzy/sourcekitten.rb:225:in `run_sourcekitten'
	from /Users/weili/.rvm/gems/ruby-2.2.6/gems/jazzy-0.9.1/lib/jazzy/doc_builder.rb:66:in `block in build'
	from /Users/weili/.rvm/gems/ruby-2.2.6/gems/jazzy-0.9.1/lib/jazzy/doc_builder.rb:64:in `chdir'
	from /Users/weili/.rvm/gems/ruby-2.2.6/gems/jazzy-0.9.1/lib/jazzy/doc_builder.rb:64:in `build'
	from /Users/weili/.rvm/gems/ruby-2.2.6/gems/jazzy-0.9.1/bin/jazzy:15:in `<top (required)>'
	from /Users/weili/.rvm/gems/ruby-2.2.6/bin/jazzy:22:in `load'
	from /Users/weili/.rvm/gems/ruby-2.2.6/bin/jazzy:22:in `<main>'

I tried run the command from both the root of the SDK and the root of the example app but have the same results.

Update version of the swift

Description

We need to provide wider support for swift versions in order to allow SDK to work with different Swift versions.

Add API doc links to asciidocs

Description

Add API doc links to the asciidocs.

At the moment the API docs have not been published so this issue is a reminder to add these links into the asciidocs once they are available

HTTP requests fail when response body is empty due to JSON parsing

Description

Current behaviour

Currently when a request is made using the HTTP module it is assumed to have a JSON response. This causes a request in the Auth SDK to fail when the body of the response is empty. The HTTP status code is 200 though.

Expected behaviour

The request should succeed when the response body is empty.

Steps to reproduce

  • Run the example app
  • Login using auth
  • Attempt to logout

Allow developers to easily refresh the access token

The access token can become invalid when it is expired, or the claims have changed. In these cases, the access token should be refreshed. However, at the moment, the only way to get a new access token is to ask the user to logout and login again.

We should provide a new function to allow developers to refresh the access token without asking the user to authenticate again.

Refresh Token in User Struct

Why don't you put the refresh_token in the User struct?
Access and ID tokens are in there except the refresh token.

error running scripts/docs.sh

$ ./scripts/docs.sh

Generating core documentation
bundler: failed to load command: jazzy (/home/pwright/.rvm/gems/ruby-2.1.2/bin/jazzy)
Pod::Informative: [!] No podspec exists at path agscore.podspec.
/home/pwright/.rvm/gems/ruby-2.1.2/gems/cocoapods-core-1.5.0/lib/cocoapods-core/specification.rb:586:in `from_file'

Probably just a ruby config thing. I'm using rvm and ruby 2.1.2, what do you recommend I try

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.