Latest 1.2.2
Homepage https://github.com/rubygarage/authorize-me
License MIT
Platforms ios 10.0, requires ARC
Authors

AuthorizeMe is a mobile library for iOS that designed to easy implementation of authorization with social networks. This repository holds the source code that contain a set of providers that implement the functionality needed to get credentials and information about user from various social services.

Features

  • No dependency: AuthorizeMe is a fully Swift framework without any dependency. Use the library without any additional Xcode project configurations after installation.
  • Authorization: There are two ways to authorize user. Use SystemProvider for authorize user with iOS social accounts data. Use WebProvider for authorize user with UIWebView in case when is not possible to use first way.
  • Custom provider: Implement own provider if AuthorizeMe does not following social network that needed. It is easy and free.

Getting Started

Installation

CocoaPods is a dependency manager for Cocoa projects. Install it with the following command:

$ gem install cocoapods

To integrate AuthorizeMe into Xcode project using CocoaPods, specify it in Podfile:

platform :ios, '10.0'

target 'Target Name' do
    use_frameworks!

    pod 'AuthorizeMe'
    # or 
    # pod 'AuthorizeMe/Facebook'
    # to integrate Facebook only

end

Then, run the following command:

$ pod install

First Look

Firstly, import AuthorizeMe framework into class in Xcode project.

import AuthorizeMe

Then, turn logging on for seen error messages of authorization process if needed. Do it in AppDelegate class is the best way.

DebugService.isNeedOutput = true

Finally, use Authorize manager that authorize user with SystemProvider if it possible, but in other case manager authorize user with WebProvider.

Authorize.me.on("Name of social network") { session, error in
    // Do something
}

To separate usage of various providers, use SystemProvider and WebProvider apart.

let provider = FacebookSystemProvider() 
// or 
// let provider = TwitterWebProvider()

provider.authorize { session, error in
    // Do something
}

Guides

RubyGarage is a leading software development and consulting company in Eastern Europe. Our main expertise includes Ruby and Ruby on Rails, but we successfully employ other technologies to deliver the best results to our clients. Check out our portfolio for even more exciting works!

Latest podspec

{
    "name": "AuthorizeMe",
    "summary": "Authorization with social networks",
    "version": "1.2.2",
    "homepage": "https://github.com/rubygarage/authorize-me",
    "license": "MIT",
    "authors": {
        "RubyGarage": "[email protected]"
    },
    "source": {
        "git": "https://github.com/rubygarage/authorize-me.git",
        "tag": "1.2.2"
    },
    "platforms": {
        "ios": "10.0"
    },
    "requires_arc": true,
    "swift_version": "5.0",
    "subspecs": [
        {
            "name": "Core",
            "source_files": "Core/**/*.swift",
            "pod_target_xcconfig": {
                "SWIFT_INCLUDE_PATHS[sdk=iphoneos*]": "$(PODS_ROOT)/AuthorizeMe/CocoaPods/iphoneos",
                "SWIFT_INCLUDE_PATHS[sdk=iphonesimulator*]": "$(PODS_ROOT)/AuthorizeMe/CocoaPods/iphonesimulator"
            }
        },
        {
            "name": "Facebook",
            "dependencies": {
                "AuthorizeMe/Core": []
            },
            "source_files": "Providers/Facebook/*.swift"
        },
        {
            "name": "Twitter",
            "dependencies": {
                "AuthorizeMe/Core": []
            },
            "source_files": "Providers/Twitter/*.swift"
        },
        {
            "name": "Google",
            "dependencies": {
                "AuthorizeMe/Core": []
            },
            "source_files": "Providers/Google/*.swift"
        },
        {
            "name": "Instagram",
            "dependencies": {
                "AuthorizeMe/Core": []
            },
            "source_files": "Providers/Instagram/*.swift"
        },
        {
            "name": "LinkedIn",
            "dependencies": {
                "AuthorizeMe/Core": []
            },
            "source_files": "Providers/LinkedIn/*.swift"
        }
    ]
}

Pin It on Pinterest

Share This