Integrating native mobile client with cloud backend
Palola, Antti (2014)
Palola, Antti
2014
Signaalinkäsittelyn ja tietoliikennetekniikan koulutusohjelma
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2014-12-03
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201412051600
https://urn.fi/URN:NBN:fi:tty-201412051600
Tiivistelmä
In the super-connected world there are more and more services that require user authentication and authorization. The importance of being able to use existing user credentials is growing. Being able to be always connected, from a mobile client or a web browser, is also more important than ever. Applications, especially mobile applications, should be as easy to take into use as possible. Many applications depend on a backend system for computation or data storage. When a backend system that requires user authentication is involved, users are often put through the burden of creating a new user account for the system. The number of different accounts and therefore user credentials, often usernames and passwords, becomes a burden for the user’s memory. If those credentials are written down somewhere a possible security threat is created.
As the number of applications grows, so does the amount of time it requires to browse through the applications or services that might have new and interesting information to the user. Constantly opening network connections is battery consuming for the mobile devices. Push notifications can be used to help with these problems.
This thesis experiments one solution for improving account creation by using OpenID Connect for initial authentication and storing user credentials to the mobile device for future use. This will enable a Single Sign-On type authentication on mobile devices. Push notification systems are available for all major mobile platforms to help the backend systems inform client software of updates. A ready push notification server was deployed to allow the backend to easily inform mobile clients on different mobile platforms of updated content.
The result of this work is a prototype native iOS mobile application and a cloud-ready backend system that offers a REST JSON API for communication. The backend can inform the mobile application of new content through the use of push notifications. OpenID Connect originates from web world and does not yet have a standard flow for native applications. A custom flow was adapted and it was successfully implemented.
As the number of applications grows, so does the amount of time it requires to browse through the applications or services that might have new and interesting information to the user. Constantly opening network connections is battery consuming for the mobile devices. Push notifications can be used to help with these problems.
This thesis experiments one solution for improving account creation by using OpenID Connect for initial authentication and storing user credentials to the mobile device for future use. This will enable a Single Sign-On type authentication on mobile devices. Push notification systems are available for all major mobile platforms to help the backend systems inform client software of updates. A ready push notification server was deployed to allow the backend to easily inform mobile clients on different mobile platforms of updated content.
The result of this work is a prototype native iOS mobile application and a cloud-ready backend system that offers a REST JSON API for communication. The backend can inform the mobile application of new content through the use of push notifications. OpenID Connect originates from web world and does not yet have a standard flow for native applications. A custom flow was adapted and it was successfully implemented.