Introducing devise-iOS, a simple client which makes it easy to integrate and automate connections with Devise.

Are you developing for iOS? Tired of implementing authorization over and over again? Does the flexible auth solution of devise suit you? Worry not, we’ve got what you need.

Introducing devise-iOS, a simple client which makes it easy to integrate and automate connections with devise. We created it specifically to work with devise-iOS-Rails gem to handle everything you need for authentication.

What does devise-iOS do?

Sometimes, auth on mobile can’t be standalone. As a developer, you might want to verify its server-side, using an exposed API. The mobile app would need to implement a network layer, which would communicate with the server. Then there’s also the UI to think about. Everything should be consistent, configurable as much as possible and implementable in a couple of steps.

If this sounds like a time-consuming task, that’s because it is. After running into these same issues, we created devise-iOS to solve all of them at once.

What features does it have? It has everything you need for simple authentication management. As of today, devise-iOS handles:

user registration,

signing in / out,

reminding password,

form validation,

profile updating,

account deleting,

session persisting.

All of the above are powered by a simple oAuth token implementation. devise-iOS cares about the network layer concerns, too, which means it is able to automatically retry requests in the case of connection issues. Of course, this behaviour is configurable and depends on the developer’s needs.

Moreover, devise-iOS isn’t defined by a rigid model. If the current state doesn’t suit a developer’s needs, it can be easily customized through subclassing. Flexibility rules!

How can I use devise-iOS?

If you want to see how it works in practice, here are our repos:

devise-iOS - an iOS cocoa pod, ready to work with the devise gem,

devise-iOS-Rails backend gem - a Rails gem that cooperates with devise and devise-iOS pod,

devise-iOS-Rails-example - an example application with a working API that you can hook up with your iOS implementation.

devise-iOS has been extracted to a gem (Rails-supported backend) and a pod (iOS) for the sake of simplicity and integration ease. It also provides a default configuration to allow the developer to implement a basic solution right away.

The only requirement is a server URL on the iOS-side and a working rails application with the devise + devise-iOS-gem on the backend-side.

Consider a mobile app without UI. Unthinkable, right? Don’t worry. To make your work even quicker, devise-iOS provides convenient interface components for simplicity.

New features to come

There is still a lot of work to be done and we’re constantly coming up with new ideas and brainstorming improvements.

Although this is super secret, we can lift the veil of secrecy a little bit and announce that devise-iOS will be a part of something extraordinary which will turn iOS + Rails into the best pair ever.

Join in! And finally, feel free to contribute to the project! Open source rocks!

There are more open source projects we’re working on - help yourself with what we’ve got, or join us. We'd love to meet you on Twitter, too - @netguru.