What is Conduit?

Conduit is a session-based Swift HTTP networking and auth library.

Within each session, requests are sent through a serial pipeline before being dispatched to the network queue. Within the pipeline, requests are processed through a collection of middleware that can decorate requests, pause the session pipeline, and empty the outgoing queue. From this pattern, Conduit bundles pre-defined middleware for OAuth2 authorization grants through all major flows defined within RFC 6749 and automatically applies tokens to requests as defined in RFC 6750.

Features:

  •  Session-based network clients
  •  Configurable middleware for outbound requests
  •  Powerful HTTP request construction and serialization
  •  JSON, XML, SOAP, URL-encoded, and Multipart Form serialization and response deserialization
  •  Complex query parameter serialization
  •  Cancellable/pausable session tasks with upload/download progress closures
  •  SSL pinning / server trust policies
  •  Network Reachability
  •  OAuth2 client management
  •  Automatic token refreshes, client_credential grants, and token storage
  •  Secure token storage with AES-256 CBC encryption
  •  Full manual control over all token grants within RFC 6749
  •  Automatic bearer/basic token application
  •  Embedded authorization page / authorization code grant strategies
  •  Support for multiple network sessions / OAuth2 clients
  •  Interfaces for migrating from pre-existing networking layers

Overview

  • Pricing: Free
  • Resource Link: https://github.com/mindbody/Conduit
  • Resource Maker: https://github.com/mindbody/Conduit
  • Mobile Platform Destination: iOS Apps
  • Mobile Platform Support: Native iOS
  • Programming Languages: Swift
  • iOS Versions Supported: iOS 8.0+, iOS 9.0+, iOS 10.0+, iOS 11.0+, iOS 12.0+
  • CocoaPods: Conduit
  • Carthage: mindbody/Conduit
  • Swift Package Manager: https://github.com/mindbody/Conduit.git