Objc-oauth2

OAuth2 implementation of Resource Owner Password Credentials Grant

View project on GitHub

OAuth2 in Objective-C

Goals

OAuth2 implements only a fraction of RFC 6749. It’s designed to handle Resource Owner Password Credentials Grant only.

Quick setup

  • Build Universal target, you’ll find a copy of OAuth2.framework in the project directory.
  • Copy OAuth2.framework to your project. Make sure to add it to Embedded Binaries section of the project.

Example

SFTToken *aToken;

[SFTOAuth requestAccessToken:@"username"
                    password:@"password"
                    clientId:@"client_id"
                clientSecret:@"client_secret"
        authenticationServer:[NSURL URLWithString:@"http://auth.server.test"]
                            :^(SFTToken *token, NSError *error)
         {
             aToken = token; 
         }];

// aRequest is some request

[SFTOAuth performRequest:aRequest
               withToken:aToken
                clientId:@"client_id"
            clientSecret:@"client_secret"
    authenticationServer:[NSURL URLWithString:@"http://auth.server.test"]
                        :^(NSData *data, NSError *error)
     {
         // ... do your thing
     }];

Patterns

  • Store SFTToken object between sessions, SFTOAuth will update it as necessary with refresh tokens and expiration dates.

Further reading

License

OAuth2 is available under the Apache License, Version 2.0. See the LICENSE file for more info.