Firefox Application Services
Перейти к файлу
Edouard Oger e18a46a87f
Include XCode version in Carthage cache key
2020-04-22 13:29:23 -04:00
.circleci Include XCode version in Carthage cache key 2020-04-22 13:29:23 -04:00
.github WIP Add explicit documentation for our testing strategy. 2020-01-17 14:19:24 +11:00
.vscode Update vscode recommended extensions 2020-04-20 19:19:23 -04:00
automation Republish local packages if `local.properties` has changed. 2020-04-22 07:36:23 +10:00
build-scripts Add error message to iOS build script 2020-04-14 10:38:51 -04:00
components Merge pull request #2994 from mozilla/webext-storage-readme r=mhammond 2020-04-22 13:05:38 +10:00
docs Merge branch 'master' into rip 2020-04-21 12:48:44 -04:00
gradle/wrapper Update Android dependencies 2020-04-08 13:23:31 -04:00
libs Upgrade Android NDK to r21 2020-04-17 16:44:40 -04:00
megazords Allow FxA profile to refresh even when there exists a profile 2020-04-21 20:57:33 -04:00
taskcluster Update vscode recommended extensions 2020-04-20 19:19:23 -04:00
testing 2334 - Add ttl to get_access_token. 2020-04-08 16:36:24 +01:00
tools Update protobuf docs 2020-04-08 16:19:31 -04:00
website Tentatively fix Deploy website job 2020-04-16 18:57:10 -04:00
xcconfig Update versions Swift 5.0 and Xcode 11.3 2019-12-18 12:38:15 -05:00
.buildconfig-android.yml Cut release v0.55.3 2020-04-16 19:20:18 -04:00
.cron.yml Bug 1602861 - Add empty .cron.yml to allow the general cron task to run 2019-12-19 19:10:21 +01:00
.detekt.yml Update Android dependencies 2020-04-08 13:23:31 -04:00
.gitignore Add some quality-of-life improvements for running android smoketests. 2020-04-02 16:40:47 +11:00
.mergify.yml Run mergify on ci skip PRs 2020-04-21 14:23:40 -04:00
.swiftlint.yml Actually lint/format the bulk of our swift code (#1093) 2019-04-30 18:33:33 -07:00
.taskcluster.yml Use checks rather than statuses everywhere. 2020-04-09 13:17:18 -06:00
CHANGELOG.md Merge branch 'master' into merge-v0.55.3-to-master 2020-04-22 08:17:08 +10:00
CHANGES_UNRELEASED.md Expose forceRefresh to refreshProfile 2020-04-21 20:56:56 -04:00
CODE_OF_CONDUCT.md Bring CPG in line with CPGBot's demands, fixes #887 2019-03-31 15:38:31 -07:00
COPYRIGHT rc_crypto initial commit (#1349) 2019-07-09 14:00:48 -04:00
Cargo.lock Merge branch 'master' into rip 2020-04-21 12:48:44 -04:00
Cargo.toml Merge branch 'master' into rip 2020-04-21 12:48:44 -04:00
Cartfile Swift Firefox Account Manager 2020-01-28 05:12:37 +01:00
Cartfile.resolved Use carthage bootstrap instead of update 2020-03-01 23:55:11 -05:00
DEPENDENCIES.md Check-in NSS bindings 2020-04-20 14:52:53 -04:00
LICENSE rc_crypto initial commit (#1349) 2019-07-09 14:00:48 -04:00
README.md docs: fix typo 2019-10-15 09:19:53 +13:00
build-carthage.sh Run firefox-ios smoketests on PR 2020-03-31 19:13:19 -04:00
build.gradle Merge pull request #2901 from mozilla/android-smoketest-tweaks; r=eoger 2020-04-14 14:45:04 +10:00
clippy.toml Document our use of clippy and add a (empty) clippy.toml 2019-03-20 09:02:54 -07:00
gradle.properties Update Android dependencies 2020-04-08 13:23:31 -04:00
gradlew [automation/fxa client] Part 1a: Lift Gradle multi-project to top-level. 2018-09-19 11:09:48 -07:00
gradlew.bat Upgrade gradle wrapper 2019-08-06 13:35:56 -07:00
proguard-rules-consumer-jna.pro Set consumer Proguard rules. 2018-11-27 20:29:10 -08:00
publish.gradle Add some quality-of-life improvements for running android smoketests. 2020-04-02 16:40:47 +11:00
settings.gradle Update Android dependencies 2020-04-08 13:23:31 -04:00

README.md

Firefox Application Services

A platform for building cloud-powered applications that target Firefox users

What's this all about?

This repository hosts the code and docs needed to integrate with the products offered by the Firefox Application Services team.

If you are interested in getting involved in the development of those products then you're in the right place! Please review the more detailed guide on how to contribute to this project as well as the Community Participation Guidelines.

If that's not why you're here, then instead you might enjoy:

Overview

This repository is used to build client-side libraries for integrating with Firefox Application services such as Firefox Accounts, Firefox Sync and Push. Each of these is called a "component" and is built using a core of shared code written in Rust, wrapped with native language bindings for different platforms.

The end result is an application that can be assembled from re-usable components that are largely shared across platforms, like this:

component diagram

The code for these components is organized as follows:

For more details on how the client libraries are built and published, please see the Guide to Building a Rust Component.

This repository also hosts the website source for the Application Services Product Portal, which provides consumer-facing documentation on how to integrate with various Application services products.

The ./docs/ directory holds intenal documentation about working with the code in this repository, and is most likely only of interest to contributors.

Components

The currently-available Rust Components in this repo are:

  • fxa-client - for applications that need to sign in with FxA, access encryption keys for sync, and more.
  • sync15 - shared library for accessing data in Firefox Sync
  • logins - for storage and syncing of a user's saved login credentials
  • places - for storage and syncing of a user's saved browsing history
  • push - for applications to receive real-time updates via WebPush
  • rc_log - for connecting component log output to the application's log stream
  • support - low-level utility libraries
    • support/ffi - utilities for building a component's FFI bindings
    • support/sql - utilities for storing data locally with SQL