Using the Popular Ping Identity Framework in a Native App
Most people think that in order to create a successful mobile app, you need to do everything in-house. This simply isn’t the case. In fact, there are a number of third-party services and integrations that can help make your app more successful, such as Ping Identity. But implementing external tools can sometimes be less rosy than the sales documentation leads to believe. In this article, we’ll discuss how we overcame some challenges posed by the Ping Identity Framework.
What is Ping Identity and What Does it Do?
Ping Identity is a popular framework used for logging in to websites and applications. It provides a secure, easy way to manage user identities across multiple platforms and is very popular for its developer friendliness. Additionally, Ping Identity can be used to create single sign-on flows between different applications or websites. This makes it a great choice for companies with a lot of web-based and mobile applications. However, there are few projects integrating Ping Identity directly in their native app flow (most do it by having a web view during signup/login).
Sidekick Interactive’s Experience With Using Ping Identity in a Native App
Sidekick Interactive had its first experience working with the Ping Identity framework developing an EV-Charging iOS and Android app. This app was written in Kotlin and Swift for Android and iOS. In this app, we used Ping Identity to manage user identities and create a single sign-on flow between the app and the back-end servers. This was a great choice for us because it provided a very secure and easy way to manage user identities. Additionally, the single sign-on flow made it very easy for users to login and use the app.
Challenges in Integrating Ping Identity in a Native App Project
While Ping Identity is a very popular and well-known framework, it can be challenging to integrate into a native app project. This is because Ping Identity does not have thorough documentation for doing so. Additionally, many of the existing Ping Identity tutorials are for web-based applications, not native apps. This can make it difficult to find the right information when trying to integrate Ping Identity into a project.
What this means is that in order to properly integrate Ping Identity into a native app project, you need to understand the sequence of calls that need to be made and also how to handle tokens. When integrating Ping Identity into a native app project, there are a sequence of calls that need to be made in order to properly authentication users. Tokens are an important part of the authentication process with Ping Identity. In order to properly handle tokens, you need to understand how they work and how to store them securely. Tokens are essentially a piece of information that is used to identify a user and authenticate them. They are generated by the Ping Identity server and can be used to authorize requests. Proper storage, naming, and parameters can be a challenge for those who are not familiar with the Ping Identity framework.
How We Overcame the Challenges
Despite these challenges, Sidekick Interactive was able to successfully integrate Ping Identity into an EV-Charging iOS and Android app. We did this by looking for example code online and piecing it together ourselves.
We also collaborated closely with our client, and we have procedures to overcome many of the common developmental issues projects face. While this was time consuming, it allowed us to create a native custom single sign-on flow that worked well with our app.
Key Take-Aways on Using Ping Identity in a Native App
This project has reaffirmed our belief that quality is more important than quantity when it comes to building products for clients. In the end, only the final result matters. Our biggest takeaways from our first use of Ping Identity were learning the right sequence of events to occur, and streamlining token handling in our Swift and Kotlin code. Prioritizing those takeaways made up for most of the complexity we initially experienced with Ping Identity, and will help us tremendously in our next Ping Identity integration projects.
If you are working on a mobile app and want to integrate with Ping Identity, Sidekick Interactive can help. We have experience in integrating Ping Identity into native iOS and Android apps, and we can help you overcome the challenges involved in doing so.