Adding authentication flow to iOS app
Currently, our iOS will be broken as we have added password and token-based authentication to our Vapor server. We will need to update the iOS such that we ask the user for their email and password on launching of the app and use that to generate a token. Then, we save the token in the UserDefaults
of the app and send this token to any request our API make from our app.
Since UserDefaults
can only be accessed by the app itself, it is safe enough for our Shopping List app, but for a production-ready app, you might want to consider Keychain API to securely store the token. So let's dive into the app and see how we can update it to support token-based authentication and get it working again:
- First, open the iOS ShoppingList project in Xcode and open the
Request.swift
file. We will be updating the request method so that we can pass headers in the HTTP request as well. We will do this by updating the function signature to the following:
func request(url: String...