{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["tabs","tab"]},"redocly_category":"SDK Reference","type":"markdown"},"seo":{"title":"Overview","description":"Everything about Mosaic Journeys, SDKs, and APIs","siteUrl":"https://developer.transmitsecurity.com/","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"overview","__idx":0},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["react-native-ts-authentication"]}," is a React Native module for Mosaic Authentication. It provides secure biometric authentication capabilities for your mobile application. It wraps both Apple's public-private key authentication for passkeys on iOS and Google's Credential Manager API for passkeys on Android, delivering a unified native experience for FIDO2-based authentication."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"capabilities","__idx":1},"children":["Capabilities"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["WebAuthn passkey registration and authentication"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Native biometric authentication (FaceID/TouchID on iOS, fingerprint/face on Android)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Transaction signing with WebAuthn and native biometrics"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["PIN code registration and authentication"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Device info and WebAuthn support detection"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"requirements","__idx":2},"children":["Requirements"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["iOS 15.0+"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Android 5+ (API level 21+)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Device with registered biometrics (FaceID/TouchID on iOS, fingerprint/face on Android)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["iCloud Keychain enabled (iOS) or Google Play Services (Android)"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"installation","__idx":3},"children":["Installation"]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"npm","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"shell","header":{"controls":{"copy":{}}},"source":"npm install react-native-ts-authentication\n","lang":"shell"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"yarn","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"shell","header":{"controls":{"copy":{}}},"source":"yarn add react-native-ts-authentication\n","lang":"shell"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For iOS, install native dependencies and set your minimum target:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"shell","header":{"controls":{"copy":{}}},"source":"cd YOUR_PROJECT_PATH/ios\npod install\n","lang":"shell"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["platform :ios, '15.0'"]}," in your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Podfile"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For Android, add the Mosaic Maven repository to your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["app/build.gradle"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"groovy","header":{"controls":{"copy":{}}},"source":"repositories {\n    google()\n    maven {\n        url('https://transmit.jfrog.io/artifactory/transmit-security-gradle-release-local/')\n    }\n}\n","lang":"groovy"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"initialization","__idx":4},"children":["Initialization"]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"iOS","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TransmitSecurity.plist"]}," file in your Xcode project:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"xml","header":{"controls":{"copy":{}}},"source":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n    <key>credentials</key>\n    <dict>\n        <key>baseUrl</key>\n        <string>[BASE_URL]</string>\n        <key>clientId</key>\n        <string>[CLIENT_ID]</string>\n    </dict>\n</dict>\n</plist>\n","lang":"xml"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Android","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Update ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["strings.xml"]}," with your credentials:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"xml","header":{"controls":{"copy":{}}},"source":"<resources>\n    <string name=\"transmit_security_client_id\">[CLIENT_ID]</string>\n    <string name=\"transmit_security_base_url\">[BASE_URL]</string>\n</resources>\n","lang":"xml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For native biometrics, add the following strings to customize the biometric authentication dialog:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"xml","header":{"controls":{"copy":{}}},"source":"<resources>\n    <string name=\"BiometricPromptTitle\">Authenticate with Biometrics</string>\n    <string name=\"BiometricPromptSubtitle\">Use your device biometrics to authenticate.</string>\n    <string name=\"BiometricPromptCancel\">Cancel</string>\n</resources>\n","lang":"xml"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Initialize the SDK:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"import TSAuthenticationSDKModule from 'react-native-ts-authentication';\n\nTSAuthenticationSDKModule.initializeSDK();\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Alternatively, initialize with explicit parameters:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"TSAuthenticationSDKModule.initialize('YOUR_CLIENT_ID');\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configure the base server URL based on your region:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Region"},"children":["Region"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Base URL"},"children":["Base URL"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["US"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.transmitsecurity.io/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["EU"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.eu.transmitsecurity.io/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Canada"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.ca.transmitsecurity.io/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Australia"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.au.transmitsecurity.io/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Japan"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.gasne1-ts01.transmitsecurity.io/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sandbox"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.sbx.transmitsecurity.io/"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Custom domain"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://<your-domain>.com/"]}," (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/deployment/custom_domains"},"children":["Custom domains"]},")"]}]}]}]}]}]},"headings":[{"value":"Overview","id":"overview","depth":1},{"value":"Capabilities","id":"capabilities","depth":2},{"value":"Requirements","id":"requirements","depth":2},{"value":"Installation","id":"installation","depth":2},{"value":"Initialization","id":"initialization","depth":2}],"frontmatter":{"title":"Authentication SDK for React Native","markdown":{"toc":{"depth":2}},"seo":{"title":"Overview"}},"lastModified":"2026-08-12T11:57:11.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/sdk-ref/react-native-ts-authentication/authentication_overview","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}