I am implementing a custom SMS filter using the IdentityLookup framework. My goal is to authenticate the network requests made via context.deferQueryRequestToNetwork using a user-specific JWT token generated in the containing (main) app after a successful login.

Phase 1 (Initial Call): iOS sends the SMS metadata to your Lambda. It sees your 401 response.

Phase 2 (The Handshake): Because your Lambda sent WWW-Authenticate: Basic realm="ios.url.com", iOS pauses the extension. It looks into the Secure Vault for the domain ("ios.url.com") you registered in your Main App.

Phase 3 (Automatic Injection): If a match is found, iOS creates a second request automatically. It combines your account and jwtToken into a string: Murali-Message-Account:adsfasf.

Phase 4 (The Header): It Base64 encodes that string and adds it to the Authorization header.

Phase 5 (Completion): Only after the second request finishes (or fails) does the (networkResponse, error) closure in your Swift code finally execute.

is this possible

Ashwanth Madhav's user avatar

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.