It's a library on iOS which is suitable for OAuth2
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


It's a library on iOS which is suitable for OAuth2. It supports authorization all websites which are using OAuth2 such as: smarthings, uber, fitbit, delivery, etc...

Build Status Version License Platform Carthage compatible


  1. I was developing based on this library. Basically, it covers > 80% the works. Please share and thanks him about this.

  2. it's base64 library I'm using for this library.


  1. UI:
  • Use autolayout.
  • Use ARC.
  • Make UX better.
  1. Authorization:
  • Add initWithDict function for OAuthRequestController
  • Add Authorization key in order to avoid some website requires it.
  1. More things:
  • Fix warning and some small issues for LROAuth2Client
  • Upgrade lib to pod project for easy use.


  1. To run the example project, clone the repo, and run pod install from the Example directory first.

  2. Declare OAuthRequestController:

NSMutableDictionary *dictService = [NSMutableDictionary dictionary];
[dictService setObject:@"" forKey:kOAuth_AuthorizeURL];
[dictService setObject:@"" forKey:kOAuth_TokenURL];
[dictService setObject:@"YOUR CLIENT ID" forKey:kOAuth_ClientId];
[dictService setObject:@"YOUR SECRET KEY" forKey:kOAuth_Secret];
[dictService setObject:@"YOUR CALLBACK URL" forKey:kOAuth_Callback];
[dictService setObject:@"activity heartrate location nutrition profile settings sleep social weight" forKey:kOAuth_Scope];

OAuthRequestController *oauthController = [[OAuthRequestController alloc] initWithDict:dictService];
oauthController.view.frame = self.view.frame;
oauthController.delegate = self;
[self presentViewController:oauthController animated:YES completion:^{

  1. Implement OAuthRequestController method to obtain accesstoken:
- (void)didAuthorized:(NSDictionary *)dictResponse {
    NSLog(@"%@", dictResponse);


  1. Pod:
  • OAuth2 is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "OAuth2"
  1. Carthage:
  • For Carthage installation:
github "trongdth/OAuth2-for-iOS" "master"


Trong Dinh,


OAuth2 is available under the MIT license. See the LICENSE file for more info.