{"id":30349162,"url":"https://github.com/okta-graveyard/react-native-lock","last_synced_at":"2025-08-18T20:03:47.683Z","repository":{"id":56919968,"uuid":"45700808","full_name":"okta-graveyard/react-native-lock","owner":"okta-graveyard","description":"[DEPRECATED] A wrapper of Lock to use with React Native (iOS \u0026 Android)","archived":true,"fork":false,"pushed_at":"2018-12-27T12:55:24.000Z","size":417,"stargazers_count":277,"open_issues_count":44,"forks_count":76,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-08-17T03:26:14.944Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/okta-graveyard.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-06T18:51:41.000Z","updated_at":"2025-08-15T17:20:19.000Z","dependencies_parsed_at":"2022-08-20T21:50:20.126Z","dependency_job_id":null,"html_url":"https://github.com/okta-graveyard/react-native-lock","commit_stats":null,"previous_names":["auth0/react-native-lock-ios"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/okta-graveyard/react-native-lock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okta-graveyard%2Freact-native-lock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okta-graveyard%2Freact-native-lock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okta-graveyard%2Freact-native-lock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okta-graveyard%2Freact-native-lock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/okta-graveyard","download_url":"https://codeload.github.com/okta-graveyard/react-native-lock/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okta-graveyard%2Freact-native-lock/sbom","scorecard":{"id":217011,"data":{"date":"2025-08-11","repo":{"name":"github.com/auth0/react-native-lock","commit":"69b774b610ef0a1faca9b2035fd0eca6812f5422"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":2,"reason":"Found 5/17 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":8,"reason":"binaries present in source code","details":["Warn: binary detected: android/gradle/wrapper/gradle-wrapper.jar:1","Warn: binary detected: sample-app/android/gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":8,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Info: 'stale review dismissal' is required to merge on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Warn: codeowners review is not required on branch 'master'","Info: 'last push approval' is required to merge on branch 'master'","Info: status check found to merge onto on branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/auth0/.github/.github/SECURITY.md:1","Info: Found linked content: github.com/auth0/.github/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/auth0/.github/.github/SECURITY.md:1","Info: Found text in security policy: github.com/auth0/.github/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 22 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"94 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-j6gc-792m-qgm2","Warn: Project is vulnerable to: GHSA-pj73-v5mw-pm9j","Warn: Project is vulnerable to: GHSA-7627-mp87-jf6q","Warn: Project is vulnerable to: GHSA-g397-v4w5-4m79","Warn: Project is vulnerable to: GHSA-34hf-g744-jw64","Warn: Project is vulnerable to: GHSA-jphg-qwrw-7w9g","Warn: Project is vulnerable to: GHSA-5cm2-9h8c-rvfx","Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-fwr7-v2mv-hh25","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-j4mr-9xw3-c9jx","Warn: Project is vulnerable to: GHSA-7p89-p6hx-q4fw","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-832h-xg76-4gv6","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-cwfw-4gq5-mrqx","Warn: Project is vulnerable to: GHSA-g95f-p29q-9xw4","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-9vvw-cc9w-f27h","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-h6ch-v84p-w6p9","Warn: Project is vulnerable to: GHSA-qrmc-fj45-qfc2","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-9qj9-36jm-prpv","Warn: Project is vulnerable to: GHSA-q42p-pg8m-cqh6","Warn: Project is vulnerable to: GHSA-w457-6q6x-cgp9","Warn: Project is vulnerable to: GHSA-62gr-4qp9-h98f","Warn: Project is vulnerable to: GHSA-f52g-6jhx-586p","Warn: Project is vulnerable to: GHSA-2cf5-4w76-r9qv","Warn: Project is vulnerable to: GHSA-3cqr-58rm-57f8","Warn: Project is vulnerable to: GHSA-g9r4-xpmj-mj65","Warn: Project is vulnerable to: GHSA-q2c6-c6pm-g3gh","Warn: Project is vulnerable to: GHSA-765h-qjxv-5f44","Warn: Project is vulnerable to: GHSA-f2jv-r9rf-7988","Warn: Project is vulnerable to: GHSA-44pw-h2cw-w3vq","Warn: Project is vulnerable to: GHSA-jp4x-w63m-7wgm","Warn: Project is vulnerable to: GHSA-c429-5p7v-vgjp","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-2pr6-76vf-7546","Warn: Project is vulnerable to: GHSA-8j8c-7jfh-h6hx","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-fvqr-27wr-82fm","Warn: Project is vulnerable to: GHSA-4xc9-xhrj-v574","Warn: Project is vulnerable to: GHSA-x5rq-j2xg-h7qm","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-f9cm-qmx5-m98h","Warn: Project is vulnerable to: GHSA-7wpw-2hjm-89gp","Warn: Project is vulnerable to: GHSA-qx2f-477c-35rq","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-wrvr-8mpx-r7pp","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-446m-mv8f-q348","Warn: Project is vulnerable to: GHSA-8hfj-j24r-96c4","Warn: Project is vulnerable to: GHSA-wc69-rhjr-hc9g","Warn: Project is vulnerable to: GHSA-gwg9-rgvj-4h5j","Warn: Project is vulnerable to: GHSA-w9mr-4mfr-499f","Warn: Project is vulnerable to: GHSA-7mc5-chhp-fmc3","Warn: Project is vulnerable to: GHSA-r683-j2x4-v87g","Warn: Project is vulnerable to: GHSA-5fw9-fq32-wv5p","Warn: Project is vulnerable to: GHSA-6394-6h9h-cfjg","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-4cpg-3vgw-4877","Warn: Project is vulnerable to: GHSA-gqgv-6jq5-jjj9","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-6g33-f262-xjp4","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-g4rg-993r-mgx7","Warn: Project is vulnerable to: GHSA-gff7-g5r8-mg8m","Warn: Project is vulnerable to: GHSA-2m39-62fm-q8r3","Warn: Project is vulnerable to: GHSA-mf6x-7mm4-x2g7","Warn: Project is vulnerable to: GHSA-jgrx-mgxx-jf9v","Warn: Project is vulnerable to: GHSA-g7q5-pjjr-gqvp","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-662x-fhqg-9p8v","Warn: Project is vulnerable to: GHSA-394c-5j6w-4xmx","Warn: Project is vulnerable to: GHSA-fhg7-m89q-25r3","Warn: Project is vulnerable to: GHSA-5v72-xg48-5rpm","Warn: Project is vulnerable to: GHSA-h6q6-9hqw-rwfv","Warn: Project is vulnerable to: GHSA-5fg8-2547-mr8q","Warn: Project is vulnerable to: GHSA-crh6-fp67-6883","Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh","Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T01:50:05.952Z","repository_id":56919968,"created_at":"2025-08-17T01:50:05.952Z","updated_at":"2025-08-17T01:50:05.952Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271053822,"owners_count":24691198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-18T20:01:30.485Z","updated_at":"2025-08-18T20:03:47.668Z","avatar_url":"https://github.com/okta-graveyard.png","language":"Java","funding_links":[],"categories":["Java","Components"],"sub_categories":["System"],"readme":"# This library is DEPRECATED\n\nWe recommend following our [react-native quickstart](https://auth0.com/docs/quickstart/native/react-native) and using https://github.com/auth0/react-native-auth0.\n\n# react-native-lock\n\n[![NPM version][npm-image]][npm-url]\n[![CI Status][travis-image]][travis-url]\n\n[Auth0](https://auth0.com) is an authentication broker that supports social identity providers as well as enterprise identity providers such as Active Directory, LDAP, Google Apps and Salesforce.\n\n**react-native-lock** is a wrapper around Lock's implementations for [iOS](https://github.com/auth0/Lock.iOS-OSX) and [Android](https://github.com/auth0/Lock.Android) ready to use for React Native\n\n## Before you start\n\nStarting 8th June 2017 Auth0 restricted some Auth flows for new Auth0 clients (Grant types), even if your account was created before that date, so this library won't work out of the box since it relies on legacy grants. If you were already using this libary before 8th June, you can go to your client's settings and enable the grants you neeed.\n\n* `Legacy: RO` (`http://auth0.com/oauth/legacy/grant-type/ro`): for database connections\n* `Legacy: RO jwt bearer` (`http://auth0.com/oauth/legacy/grant-type/ro/jwt-bearer`): for TouchID\n* `Legcy: Access Token` (`http://auth0.com/oauth/legacy/grant-type/access_token`): for native social integrations\n\nIn our documentation you will find more information about [Grant types](https://auth0.com/docs/clients/client-grant-types).\n\nWe will continue fixing bugs for react-native-lock for the time being.\n\n## Requirements\n\n### iOS\n\n* iOS 7+\n* [CocoaPods](https://cocoapods.org)\n\n### Android\n\n* Minimum SDK 16\n\n## Installation\n\nRun `npm install --save react-native-lock` to add the package to your app's dependencies.\n\n### iOS\n\n#### react-native cli\n\nRun `react-native link react-native-lock` so your project is linked against your Xcode project \u0026 install Lock for iOS using CocoaPods and run `react-native run-ios`\n\n#### Manually\n\n1. In XCode, in the project navigator, right click `Libraries` ➜ `Add Files to [your project's name]`\n2. Go to `node_modules` ➜ `react-native-lock` and add `A0RNLock.xcodeproj`\n3. In XCode, in the project navigator, select your project. Add `libA0RNLock.a` to your project's `Build Phases` ➜ `Link Binary With Libraries`\n4. Click `A0RNLock.xcodeproj` in the project navigator and go the `Build Settings` tab. Make sure 'All' is toggled on (instead of 'Basic'). Look for `Header Search Paths` and make sure it contains `$(SRCROOT)/../react-native/React`, `$(SRCROOT)/../../React`, `${SRCROOT}/../../ios/Pods/Headers/Public` and `${SRCROOT}/../../ios/Pods/Headers/Public/Lock` - all marked as `recursive`.\n5. Inside your `ios` directory add a file named `Podfile` with the following [content](https://github.com/auth0/react-native-lock/blob/master/Podfile.template)\n6. Run `pod install --project-directory=ios`\n7. Run `react-native run-ios`\n\n\n#### CocoaPods Warning\n\nIf you get the following warning.\n\n```\n[!] The `\u003cYourAppName\u003e [Debug]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation\n    - Use the `$(inherited)` flag, or\n    - Remove the build settings from the target.\n\n[!] The `\u003cYourAppName\u003e [Release]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation\n    - Use the `$(inherited)` flag, or\n    - Remove the build settings from the target.\n```\n\nClick `\u003cYourAppName\u003e.xcodeproj` in the project navigator and go the `Build Settings` tab. Make sure 'All' is toggled on (instead of 'Basic'). Look for `Other Linker Flags` and replace the value `-ObjC` with the value `$(inherited)` for your Application's Target.\n\n#### Compile error react-native \u003e=0.26.0\n\nIf you are using a `react-native` version `\u003e=0.26.0`, you might encounter the following error while trying to run the project\n\n```\n\"std::terminate()\", referenced from:\n        ___clang_call_terminate in libReact.a(RCTJSCExecutor.o)\n```\n\n*React Native* introduced some C++ code so we need to tell **Xcode** to include use those symbols for compile. First click `\u003cYourAppName\u003e.xcodeproj` in the Project Navigator to show your project's target (at least one for your app).\nThen for each of the targets do the following:\n\n- Go the `Build Settings` tab, and make sure `All` is toggled on (instead of `Basic`)\n- Look for `Other Linker Flags` and add the flag `-lc++` for **all** configurations\n\n\u003e If your project was created using `react-native init` command, you will have two targets (app \u0026 tests) so make sure **BOTH** of them has the correct flags\n\n#### CocoaPods with uses_framework! flag\n\n\u003e This more of a hack than an actual solution. We recommend to avoid including Lock as a dynamic framework unless you have a very good reason to do that.\n\nAfter setting up `react-native-lock` either [Manually](#manually) or using [react-native cli](#react-native-cli) you need to open your iOS project with Xcode and follow these steps:\n\n1. Click `A0RNLock.xcodeproj` in the project navigator and go the `Build Settings` tab. Make sure 'All' is toggled on (instead of 'Basic'). Look for `Framework Search Paths` and make sure it contains `$BUILD_DIR/$CONFIGURATION$EFFECTIVE_PLATFORM_NAME/Lock`\n2. Change to the `A0RNLock.xcodeproj` target tab `Build Phases`, and in the section `Link Binary with Libraries` click the `+` and add `Lock.framework` and make sure it's `Status` is set to **optional**\n3. In the project navigator, select your project (should be the top one) and go the `Build Settings` tab. Make sure 'All' is toggled on (instead of 'Basic') and look for `Other Linker Flags` and make sure the value `-ObjC` is listed there\n\n### Android\n\n#### react-native cli\n\nRun `react-native link react-native-lock` so your project is linked against your Android project\n\nIn your file `android/app/build.gradle`, inside the `android` section add the following\n\n```gradle\npackagingOptions {\n    exclude 'META-INF/LICENSE'\n    exclude 'META-INF/NOTICE'\n}\n```\n\nThen in your `android/app/src/main/AndroidManifest.xml` add the following inside `\u003capplication\u003e` tag\n\n```xml\n\u003c!--Auth0 Lock--\u003e\n\u003cactivity\n  android:name=\"com.auth0.lock.LockActivity\"\n  android:theme=\"@style/Lock.Theme\"\n  android:screenOrientation=\"portrait\"\n  android:launchMode=\"singleTask\"\u003e\n\u003c/activity\u003e\n\u003c!--Auth0 Lock End--\u003e\n\u003c!--Auth0 Lock Embedded WebView--\u003e\n\u003cactivity\n    android:name=\"com.auth0.identity.web.WebViewActivity\"\n    android:theme=\"@style/Lock.Theme\"\u003e\n\u003c/activity\u003e\n\u003c!--Auth0 Lock Embedded WebView End--\u003e\n\u003c!--Auth0 Lock Passwordless--\u003e\n\u003cactivity\n    android:name=\"com.auth0.lock.passwordless.LockPasswordlessActivity\"\n    android:theme=\"@style/Lock.Theme\"\n    android:screenOrientation=\"portrait\"\n    android:launchMode=\"singleTask\"\u003e\n\u003c/activity\u003e\n\u003cactivity\n    android:name=\"com.auth0.lock.passwordless.CountryCodeActivity\"\n    android:theme=\"@style/Lock.Theme\"\u003e\n\u003c/activity\u003e\n\u003c!--Auth0 Lock Passwordless End--\u003e\n```\n\nAnd finally run `react-native run-android`\n\n#### Manually\n\nIn your file `android/settings.gradle` add the following\n\n```gradle\ninclude ':react-native-lock'\nproject(':react-native-lock').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-lock/android')\n```\n\nIn the file `android/app/build.gradle` add a new dependency\n\n```gradle\ndependencies {\n  //Other gradle dependencies...\n  compile project(':react-native-lock')\n}\n```\n\nAnd in the same file inside the `android` section\n\n```gradle\npackagingOptions {\n    exclude 'META-INF/LICENSE'\n    exclude 'META-INF/NOTICE'\n}\n```\n\n\u003e This fixes the error `Error: duplicate files during packaging of APK\n\nThen in the file `MainApplication.java` add the following Java import\n\n```java\nimport com.auth0.lock.react.LockReactPackage;\n```\n\n\u003e In react-native versions older than 0.29 you should add do this in `MainActivity.java` instead\n\nand add Lock's React Native module\n\n```java\n    /**\n     * A list of packages used by the app. If the app uses additional views\n     * or modules besides the default ones, add more packages here.\n     */\n    @Override\n    protected List\u003cReactPackage\u003e getPackages() {\n        return Arrays.\u003cReactPackage\u003easList(\n            new MainReactPackage(),\n            //Other RN modules\n            new LockReactPackage()\n        );\n    }\n```\n\nThen in your `android/app/src/main/AndroidManifest.xml` add the following inside `\u003capplication\u003e` tag\n\n```xml\n\u003c!--Auth0 Lock--\u003e\n\u003cactivity\n  android:name=\"com.auth0.lock.LockActivity\"\n  android:theme=\"@style/Lock.Theme\"\n  android:screenOrientation=\"portrait\"\n  android:launchMode=\"singleTask\"\u003e\n\u003c/activity\u003e\n\u003c!--Auth0 Lock End--\u003e\n\u003c!--Auth0 Lock Embedded WebView--\u003e\n\u003cactivity\n    android:name=\"com.auth0.identity.web.WebViewActivity\"\n    android:theme=\"@style/Lock.Theme\"\u003e\n\u003c/activity\u003e\n\u003c!--Auth0 Lock Embedded WebView End--\u003e\n\u003c!--Auth0 Lock Passwordless--\u003e\n\u003cactivity\n    android:name=\"com.auth0.lock.passwordless.LockPasswordlessActivity\"\n    android:theme=\"@style/Lock.Theme\"\n    android:screenOrientation=\"portrait\"\n    android:launchMode=\"singleTask\"\u003e\n\u003c/activity\u003e\n\u003cactivity\n    android:name=\"com.auth0.lock.passwordless.CountryCodeActivity\"\n    android:theme=\"@style/Lock.Theme\"\u003e\n\u003c/activity\u003e\n\u003c!--Auth0 Lock Passwordless End--\u003e\n```\n\n\u003e For more information and configuration options you should see the Lock.Android [docs](https://github.com/auth0/Lock.Android)\n\nAnd finally run `react-native run-android`\n\n## Usage\n\nLet's require `react-native-lock` module:\n\n```js\nvar Auth0Lock = require('react-native-lock');\n```\n\nAnd initialize it with your Auth0 credentials that you can get from [our dashboard](https://app.auth0.com/#/applications)\n\n```js\nvar lock = new Auth0Lock({clientId: \"YOUR_CLIENT_ID\", domain: \"YOUR_DOMAIN\"});\n```\n\n### Email/Password, Enterprise \u0026 Social authentication\n\n```js\nlock.show({}, (err, profile, token) =\u003e {\n  console.log('Logged in!');\n});\n```\n\nAnd you'll see our native login screen\n\n[![Lock.png](https://cdn.auth0.com/mobile-sdk-lock/lock-ios-default.png)](https://auth0.com)\n\n### Avoid WebView for Social Auth\n\nIn order to make Lock use the OS browser to perform Web Auth you will need to pass the attribute `useBrowser` when you build Lock like\n\n```js\nvar lock = new Auth0Lock({clientId: \"YOUR_CLIENT_ID\", domain: \"YOUR_DOMAIN\", useBrowser: true});\n```\n\nThen you need to configure both your iOS and Android project following the instructions detailed below.\n\n\u003e **IMPORTANT**: This feature only works with iOS 9 or later.\n\n### iOS\n\nIn the file `AppDelegate.m` add the following import on the top (next to the other imports of the file)\n\n```objc\n#import \"A0LockReact.h\"\n```\n\nand then inside the `AppDelegate` implementation add the following method\n\n```objc\n- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary\u003cUIApplicationOpenURLOptionsKey,id\u003e *)options {\n  return [[A0LockReact sharedInstance] handleURL:url sourceApplication:nil];\n}\n```\n\nAnd finally in the file `Info.plist` add the following entry\n\n```xml\n\u003ckey\u003eCFBundleURLTypes\u003c/key\u003e\n\u003carray\u003e\n  \u003cdict\u003e\n    \u003ckey\u003eCFBundleTypeRole\u003c/key\u003e\n    \u003cstring\u003eEditor\u003c/string\u003e\n    \u003ckey\u003eCFBundleURLName\u003c/key\u003e\n    \u003cstring\u003eauth0\u003c/string\u003e\n    \u003ckey\u003eCFBundleURLSchemes\u003c/key\u003e\n    \u003carray\u003e\n      \u003cstring\u003e{Bundle Identifier}\u003c/string\u003e\n    \u003c/array\u003e\n  \u003c/dict\u003e\n\u003c/array\u003e\n```\n\nWhere the Bundle identifier can be found in the same file under the key `CFBundleIdentifier` like\n\n```xml\n\u003ckey\u003eCFBundleIdentifier\u003c/key\u003e\n\u003cstring\u003eorg.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)\u003c/string\u003e\n```\n\n### Android\n\nIn the file `AndroidManifest` find where the `LockActivity` is declared and insde the `activity` tags add the following\n\n```xml\n\u003cintent-filter\u003e\n  \u003caction android:name=\"android.intent.action.VIEW\"/\u003e\n  \u003ccategory android:name=\"android.intent.category.DEFAULT\"/\u003e\n  \u003ccategory android:name=\"android.intent.category.BROWSABLE\"/\u003e\n  \u003cdata android:scheme=\"a0{your lowercase auth0 client id}\" android:host=\"{your auth0 domain}\"/\u003e\n\u003c/intent-filter\u003e\n```\n\nAnd make sure Lock's activity launch mode is `singleTask` \n\n### TouchID (iOS Only)\n\n```js\nlock.show({\n  connections: [\"touchid\"]\n}, (err, profile, token) =\u003e {\n  console.log('Logged in!');\n});\n```\n\nAnd you'll see TouchID login screen\n\n[![Lock.png](https://cdn.auth0.com/mobile-sdk-lock/lock-ios-pwdless-touchid.png)](https://auth0.com)\n\n\u003e Because it uses a Database connection, the user can change it's password and authenticate using email/password whenever needed. For example when you change your device.\n\n### SMS Passwordless\n\n```js\nlock.show({\n  connections: [\"sms\"]\n}, (err, profile, token) =\u003e {\n  console.log('Logged in!');\n});\n```\nAnd you'll see SMS Passwordless login screen\n\n[![Lock.png](https://cdn.auth0.com/mobile-sdk-lock/lock-ios-pwdless-sms.png)](https://auth0.com)\n\n### Email Passwordless\n\n```js\nlock.show({\n  connections: [\"email\"]\n}, (err, profile, token) =\u003e {\n  console.log('Logged in!');\n});\n```\nAnd you'll see Email Passwordless login screen\n\n[![Lock.png](https://cdn.auth0.com/mobile-sdk-lock/lock-ios-pwdless-email.png)](https://auth0.com)\n\n## Upgrading\n\nIf you are upgrading your `react-native` version just run `react-native upgrade` and overwrite all conflicts (option `a` or `overwrite this and all others`).\n\n\u003e If you have custom code in any of the conflict files, like `AppDelegate.m`, it's probably best to backup a copy to apply those changes later.\n\nThen run `react-native link react-native-lock` and follow the same steps like you did the first time you installed the library.\n\n## API\n\n### Lock\n\n####.show(options, callback)\nShow Lock's authentication screen as a modal screen using the connections configured for your applications or the ones specified in the `options` parameter. This is the list of valid options:\n\n* **closable** (`boolean`): If Lock screen can be dismissed\n* **disableSignUp** (`boolean`): default to false, if true will hide the signup button\n* **disableResetPassword** (`boolean`): default to false, if true will hide the reset password button\n* **connections** (`[string]`): List of enabled connections to use for authentication. Must be enabled in your app's dashboard first.\n* **authParams** (`object`): Object with the parameters to be sent to the Authentication API, e.g. `scope`.\n\nThe callback will have the error if anything went wrong or after a successful authentication, it will yield the user's profile info and tokens.\n\n####.authenticationAPI()\nReturns Auth0 Authentication API client that can be used to refresh user's token, obtain user information or call Auth0 delegation.\n\n\u003e For more info check [react-native-auth0](https://github.com/auth0/react-native-auth0)\n\n####.usersAPI(token)\nReturns Auth0 Users API client using a valid user's token for [Management API](https://auth0.com/docs/api/management/v2#!/Users/get_users). With this client you can update user's metadata or link two user accounts.\n\n\u003e For more info check [react-native-auth0](https://github.com/auth0/react-native-auth0)\n\n## Issue Reporting\n\nIf you have found a bug or if you have a feature request, please report them at this repository issues section. Please do not report security vulnerabilities on the public GitHub issue tracker. The [Responsible Disclosure Program](https://auth0.com/whitehat) details the procedure for disclosing security issues.\n\n## What is Auth0?\n\nAuth0 helps you to:\n\n* Add authentication with [multiple authentication sources](https://docs.auth0.com/identityproviders), either social like **Google, Facebook, Microsoft Account, LinkedIn, GitHub, Twitter, Box, Salesforce, among others**, or enterprise identity systems like **Windows Azure AD, Google Apps, Active Directory, ADFS or any SAML Identity Provider**.\n* Add authentication through more traditional **[username/password databases](https://docs.auth0.com/mysql-connection-tutorial)**.\n* Add support for **[linking different user accounts](https://docs.auth0.com/link-accounts)** with the same user.\n* Support for generating signed [Json Web Tokens](https://docs.auth0.com/jwt) to call your APIs and **flow the user identity** securely.\n* Analytics of how, when and where users are logging in.\n* Pull data from other sources and add it to the user profile, through [JavaScript rules](https://docs.auth0.com/rules).\n\n## Create a free account in Auth0\n\n1. Go to [Auth0](https://auth0.com) and click Sign Up.\n2. Use Google, GitHub or Microsoft Account to login.\n\n## Author\n\n[Auth0](https://auth0.com/)\n\n## License\n\nreact-native-lock-ios is available under the MIT license. See the [LICENSE](LICENSE) file for more info.\n\n\u003c!-- Variables --\u003e\n[npm-image]: https://img.shields.io/npm/v/react-native-lock.svg?style=flat\n[npm-url]: https://npmjs.org/package/react-native-lock\n[travis-image]: http://img.shields.io/travis/auth0/react-native-lock.svg?style=flat\n[travis-url]: https://travis-ci.org/auth0/react-native-lock\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokta-graveyard%2Freact-native-lock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fokta-graveyard%2Freact-native-lock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokta-graveyard%2Freact-native-lock/lists"}