We are currently busy improving an Android application with connects to an Azure App Service API using client certificates and bearer token for authentication over TLS 1.2.
We are investigating moving to HTTP/2 for bandwidth & performance requirements. HTTP/2 standard has no implementation for client certificate authentication.
- https://www.ietf.org/mail-archive/web/httpbisa/current/msg25262.html
- https://tools.ietf.org/id/draft-ietf-httpbis-http2-secondary-certs-01.html
We still want an extra layer next to the bearer token authentication. What are valid and secure options to explore to harden our API?
Adding a nonce is a possible solution to block malicious requests, but we would like to limit public access to our API.