Skip to content

preadly/AFOAuth1Client

 
 

Repository files navigation

AFOAuth1Client

Instructions

Register your application to launch from a custom URL scheme, and use that with the path success as your callback URL. The callback for the custom URL scheme should send a notification, which will complete the OAuth transaction.

Here's how to create a client and authenticate:

AFOAuth1Client *twitterClient = [[AFOAuth1Client alloc] initWithBaseURL:[NSURL URLWithString:@"https://api.twitter.com/1.1/"] key:@"..." secret:@"..."];

// Your application will be sent to the background until the user authenticates, and then the app will be brought back using the callback URL
[self.twitterClient authorizeUsingOAuthWithRequestTokenPath:@"/oauth/request_token" userAuthorizationPath:@"/oauth/authorize" callbackURL:[NSURL URLWithString:@"af-twitter://success"] accessTokenPath:@"/oauth/access_token" accessMethod:@"POST" scope:nil success:^(AFOAuth1Token *accessToken, id responseObject) {
	NSMutableURLRequest *request = [self.twitterClient requestWithMethod:@"GET" path:@"statuses/user_timeline.json" parameters:nil];
	AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
	AFHTTPRequestOperation *operation = [[AFHTTPRequestOperationManager manager] HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id responseObject) {
		NSLog(@"Success: %@", responseObject);
	} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
		NSLog(@"Error: %@", [error localizedDescription]);
	}];
	[manager.operationQueue addOperation:operation];
} failure:^(NSError *error) {
	NSLog(@"Error: %@", error);
}];

Here's how to respond to the custom URL scheme on iOS:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
	NSNotification *notification = [NSNotification notificationWithName:kAFApplicationLaunchedWithURLNotification object:nil userInfo:[NSDictionary dictionaryWithObject:url forKey:kAFApplicationLaunchOptionsURLKey]];
	[[NSNotificationCenter defaultCenter] postNotification:notification];

	return YES;
}

Contact

Joel Chen

http://lnkd.in/bwwnBWR

License

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

About

AFNetworking Extension for OAuth 1.0a Authentication

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 97.8%
  • Ruby 2.2%