A Swift library for integrating Google's Invisible reCAPTCHA v2 into iOS apps, handling events and validation automatically.
ReCaptcha is a Swift library for iOS that integrates Google's Invisible reCAPTCHA v2, automating the process of bot detection and validation. It handles reCAPTCHA events, retrieves tokens, and manages challenge presentations when invisibility isn't possible, simplifying the addition of security measures to mobile apps.
iOS developers building apps that require bot protection, such as login forms, sign-ups, or any user input sections vulnerable to automated attacks.
Developers choose ReCaptcha for its seamless integration, automatic handling of reCAPTCHA complexities, and support for both standard and reactive (RxSwift) programming patterns, reducing implementation time and maintenance effort.
[In]visible ReCaptcha v2 for iOS
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Manages reCAPTCHA events and validation token retrieval without manual intervention, as highlighted in the automatic event handling feature, reducing development overhead.
Offers seamless integration with RxSwift observables via a separate subpod, enabling reactive programming patterns for modern iOS apps.
Allows API keys and domains to be set via Info.plist or direct parameters during initialization, providing multiple setup options for different project needs.
Supports using recaptcha.net as an alternative JS endpoint to bypass firewalls blocking Google's API, enhancing reliability in restricted network environments.
Only supports Invisible reCAPTCHA v2 and not v3, which is required for server-side validation and scoring, restricting use cases for applications needing advanced bot detection.
Designed solely for iOS apps, making it unsuitable for cross-platform projects targeting Android, web, or other environments without additional workarounds.
Requires manual configuration of the webview frame, as shown in the usage example with configureWebView, which can be cumbersome and error-prone for dynamic layouts.