Login/Sign-Up ViewControllers Ready-To-Use with your Custom Backend
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Login/Sign-Up ViewControllers Ready-To-Use with your Custom Backend

Building a authentication system can be tedious and repeative. Why write the same code over and over when you could be spending time working on real application logic? SDLoginKit is a simple library that provides Login and Sign-Up viewcontrollers out-of-the-box. Just subscribe to a delegate callback, respond with the built-in success/failure methods (or roll your own) then BAM! You are ready to start managing and creating users. Want to customize the entire experience? No problem just override authenticateWithCredential and all the codez belong to you! You can even add your own logo to the login screen. Just set logoImage to the UIImage of your choice.

SDLoginKit is named LoginKit, because it has everything you need add a fully-customizable authentication system to your iOS Application.

SDLoginKit is meant to save you time so you can focus on what matters, application logic. The library is still a little green behind the ears and I would love to see any issues or pull request you may have. There is a sample project if you have any question on how it all works.

Submit an Pull Request/Issue/Enhancement and keep up with my progress in the worklog.

I am working to create pre-defined implementations for different authentication systems like the following:

  • Devise
  • OmniAuth
  • Your-favorite-authenication

Please help me by submitting a generic implementation with your back-end of choice.

Overall, this is a great way to get your authentication up and running then you can go from there.

If you enjoy this project, I would encourage you to check out SDScaffoldKit the easiest way to create views for your Core Data models. I also highly recommend you follow Mattt Thompson and his series of open source libraries covering the mission-critical aspects of an iOS app's infrastructure. Be sure to check out its sister projects: GroundControl, SkyLab, CargoBay, and houston.

Follow @stevederico on twitter, tell me what you think.
Twitter image

Watch refactor.tv, a podcast with Sam Soffes and myself, where we cover iOS and Open-source projects each week.

Example Usage

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    //Add SDLoginKit
    SDLoginViewController *loginViewController = [[SDLoginViewController alloc] init];
    [loginViewController setDelegate:self];
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:loginViewController];
    [self.viewController presentViewController:navController animated:YES completion:nil];

    return YES;

#pragma mark - SDLoginViewControllerDelegate

- (void)loginViewController:(SDLoginViewController*)loginViewController authenticateWithCredential:(NSURLCredential*)credential{
    [loginViewController loginViewControllerDidAuthenticate];

- (void)signUpViewController:(SDSignUpViewController*)signUpViewController signUpWithCredentials:(NSDictionary*)credentials{
    [signUpViewController signUpViewControllerDidSignUp];      

Sample Images

Sign In Password Reset Sign Up Logo


Steve Derico


SDLoginKit is available under the MIT license.