Andrew Heard
c06a1d7199
feat(appcheck): read CLI debug token on Simulator ( #17017 )
...
Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com >
In a Simulator, AppCheckDebugProvider now uses the debug token that
`firebase appcheck:debugtokens:create` saves to
~/.config/configstore/firebase-appcheck.json on the host, so apps
launched from Xcode work without manually registering a token. The
token is looked up by each app's Google App ID through
SIMULATOR_HOST_HOME. The lookup is compiled out on devices, macOS and
Mac Catalyst. No public API changes.
Debug tokens are now resolved in this order:
1. AppCheckDebugToken or FIRAAppCheckDebugToken environment variable
2. Token from the CLI config store (Simulator only)
3. Token stored in UserDefaults
4. Newly generated UUID
The config store comes before the stored token so a newly provisioned
token takes effect without reinstalling the app.
Logging:
- I-FAA004003: debug token loaded from the config store.
- I-FAA004004: exchanging the config store token failed; suggests
re-running the CLI with --force and relaunching.
- I-FAA004002: exchanging an environment variable token failed; now
names the variables instead of showing an unrelated local token.
- I-FAA004005: the config store exists but can't be read or parsed.
A missing file, or a path where it can't exist (e.g., ~/.config is a
regular file), is silent. Exchange-failure warnings are skipped when
the server is unreachable, and no message includes the token.
2026-11-06 19:23:51 -05:00
ea6d67df19
Test AppCheckCore 12.0.0 (Swift implementation) ( #16544 )
...
Co-authored-by: Nick Cooke <nickcooke@google.com >
Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com >
2026-09-23 19:22:44 -04:00
Nick Cooke
80f07891e1
refactor(appcheck): remove recaptcha fallback from default provider factory ( #16388 )
2026-07-13 14:33:05 -04:00
Daymon
5fab704d7d
fix(core): update error messages mentioning init usage ( #16294 )
2026-06-17 14:26:09 -05:00
Nick Cooke and Paul Beusterien
06d53a2ae0
feat(appcheck): implement RecaptchaEnterpriseProvider and tests ( #16155 )
...
Co-authored-by: Paul Beusterien <paulbeusterien@google.com >
2026-06-10 12:08:31 -04:00
Nick Cooke
ff92250a74
feat(appcheck): add helpful log for registering debug tokens ( #16232 )
2026-06-04 20:05:33 -04:00
Daymon
6706aa8fd8
[FAL] Add limited-use token support ( #15099 )
2025-08-19 17:50:13 -05:00
Nick Cooke
284a986405
[AppCheck] Force link categories ( #13435 )
2024-07-31 19:12:40 -04:00
Yakov Manshin
c590762053
[ #13326 ] App Check Tests ( #13327 )
2024-07-22 08:32:30 -07:00
Paul Beusterien
f5309bf45b
[v11] Remove unused FIRDependency class ( #13053 )
2024-06-04 06:56:50 -07:00
Paul Beusterien
2f70913391
Merge remote-tracking branch 'origin/main' into pb-merge-main
2024-04-17 11:40:52 -07:00
Nick Cooke
b6e5270f75
[AppCheck] Migrate to GoogleUtilities's storage container ( #12773 )
2024-04-12 13:46:29 -04:00
Paul Beusterien
0b90011293
Merge remote-tracking branch 'origin/main' into auth-swift
2024-03-18 11:42:30 -07:00
Andrew Heard
cd1ee8d2a4
Remove placeholder token constant from Firebase App Check ( #12374 )
2024-02-07 19:34:54 -05:00
Paul Beusterien
20847a1577
[auth-swift] Fix heartbeats for SPM ( #12237 )
2024-01-04 08:11:58 -08:00
Andrew Heard
a83297908d
[App Check] Implement FirebaseAppCheck as a shim of AppCheckCore ( #12067 )
2023-11-07 18:54:45 -05:00
Andrew Heard
3e4b72180d
[App Check] Fix warning due to NSUInteger length on watchOS ( #11974 )
2023-10-20 16:28:46 +00:00
Andrew Heard
f73ca9532c
[App Check] Add failure reasons for App Attest error cases ( #11956 )
2023-10-19 17:28:38 -04:00
Andrew Heard and Nick Cooke
f3a14c249e
Add FirebaseAppCheckInterop umbrella header ( #11860 )
...
Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com >
2023-10-11 18:39:18 -04:00
Andrew Heard
a471cc8120
Add FIRAppCheckProtocol to FirebaseAppCheckInterop SDK ( #11660 )
2023-09-14 17:11:28 -04:00
0cbe4f2920
Firebase App Check One-time Use Tokens for Callable Functions SDK ( #11270 )
...
* draft pr for callable functions
* Adjust Functions podspec dependency on AppCheckInterop
* Add 'HTTPSCallableOptions' class
* Re-implement with new HTTPSCallableOptions type
* Revert and update Objective-C API tests
* Mark new AppCheckInterop API optional for backwards compatibility
* Preserve existing codable Functions API
* Revert integration tests
* Style
* Fix some test build breakages
* Add changelog entry
* Style
* Fix AppCheck tests
* Cleanup current approach
* Re-organize tests
* Add 'options' param to 'getContext' call
* Add success case unit test
* Shorten expectation waiting timeout
* Add remaining unit tests
* Amend current test
* Rename 'limitedUseTokens' to 'requireLimitedUseTokens'
* Fix build and tests
* Fix some renaming misses
* Fix some renaming misses (1)
* Update FirebaseFunctions/CHANGELOG.md
Co-authored-by: Andrew Heard <andrewheard@google.com >
* Update FirebaseFunctions/Sources/Functions.swift
Co-authored-by: Andrew Heard <andrewheard@google.com >
* Update FirebaseFunctions/Sources/Functions.swift
Co-authored-by: Andrew Heard <andrewheard@google.com >
* Update FirebaseFunctions/Sources/Functions.swift
Co-authored-by: Andrew Heard <andrewheard@google.com >
* Update FirebaseFunctions/Sources/Functions.swift
Co-authored-by: Andrew Heard <andrewheard@google.com >
* Update FirebaseFunctions/Sources/HTTPSCallableOptions.swift
Co-authored-by: Andrew Heard <andrewheard@google.com >
* [App Check] Always return fresh limitedUseToken (#11298 )
Updated `limitedUseTokenWithCompletion:` to always return a fresh limited-used token in every invocation (removed the `ongoingLimitedUseTokenPromise` property).
---------
Co-authored-by: Nick Cooke <nickcooke@google.com >
Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com >
Co-authored-by: Andrew Heard <andrewheard@google.com >
2023-05-16 18:33:15 -04:00
Andrew Heard
cd0456ec23
[App Check] Split App Check Component into separate file ( #11220 )
...
Extracted the App Check Component (FIRLibrary) into a separate file.
2023-05-03 11:32:13 -04:00
Yvonne Cheng and Andrew Heard
87b07e2d36
Add limited use token to FirAppeCheck Interface ( #11086 )
...
* Add limited use token to FirAppeCheck Interface
* revise some naming
* remove extra promise and clean the logic for limitedUseToken
* ADD UNIT tests
* suppress style error
* style the file
* Fixed comments and still need to add one more test
* change testLimitedUseToken to uncached test and add error test too
* test in FIRAppCheckTestFile to make sure limited-use token is working
* style the file to pass checks
* style swift file to pass checks
* style swift file to pass checks
* style swift file to pass checks
* style swift file to pass checks
* Run scripts/style.sh to format AppDelegate.swift
Script updated in https://github.com/firebase/firebase-ios-sdk/pull/11097
* comments typo fixed
* Fixed typos and add desciption to changelog.md
* solve comments
* remove extra space
* add a spce in the title
---------
Co-authored-by: Andrew Heard <andrewheard@google.com >
2023-04-17 13:55:59 -07:00
Andrew Heard
52f246ce87
[AppCheck] Fix unused isTokenAutoRefreshEnabled ivar warning ( #10818 )
...
Stopped synthesizing a backing instance variable for the `isTokenAutoRefreshEnabled` property in `FIRAppCheckSettings` because it is unused, resulting in a warning when "-Wunused-property-ivar" is enabled.
This resolves the error "FIRAppCheckSettings.m:92:1: error: ivar '_isTokenAutoRefreshEnabled' which backs the property is not referenced in this property's accessor [-Werror,-Wunused-property-ivar]" when building in google3 (where this warning is treated as an error).
2023-02-14 12:00:38 -05:00
Mike Hardy
16124731d2
Fix typo in error message ( #10766 )
2023-02-01 11:20:21 -08:00
Paul Beusterien
7b946765ec
Remove slashes from log messages ( #9391 )
2022-04-06 14:19:47 -07:00
Paul Beusterien
99275370a2
Merge remote-tracking branch 'origin/master' into v9b
2022-04-06 09:56:33 -07:00
Nick Cooke
2f3bc9b8ae
Update response parsing logic and endpoint baseURL ( #9580 )
2022-04-05 16:50:32 -04:00
Morgan Chen
7a273e7bae
fix returns typo ( #9541 )
2022-03-31 11:37:45 -07:00
Nick Cooke
3d4b0f429e
[Heartbeat Logging] Migrate AppCheck from using FIRHeartbeatInfo to FIRHeartbeatLogger ( #9530 )
...
* Integrate AppCheck with FIRHeartbeatLogger
* Fix comment typo
* Fix CI
* [will revert] debug why HeartbeatLoggingTestUtils.podspec is linted?
* Revert "[will revert] debug why HeartbeatLoggingTestUtils.podspec is linted?"
This reverts commit 25a79874d8 .
* Change visibility of shim class
* Fix CI
* [skip ci] Review
2022-03-30 16:18:41 -04:00
Nick Cooke
a09083f9d0
[v9] Reorganize FirebaseCore* modules ( #9482 )
...
* [skip ci] [will revert] Add debug printing to `pod_lib_lint.rb`
* Reorganize FirebaseCore libraries for SPM and CP
* [skip ci] Revert "[skip ci] [will revert] Add debug printing to `pod_lib_lint.rb`"
This reverts commit 2a837e39708c21b0a324743ab226bd6c01047de7.
* Review and fix CI
* Remove `heartbeat_logging.yml` and add `core_internal.yml`
* Remove trailing whitespace
* Fix more whitespace 😞
* Fix `core_internal.yml` scheme name
* Update `check_imports.swift` and TODO
* Review
* Add FirebaseCoreInternal pod to Firestore example's Podfile
* [skip ci] Review - remove TODOs
* [skip ci] Remove duplicate `XCTest` import
2022-03-23 06:08:14 -07:00
Paul Beusterien
e748d16594
AppCheckInterop for Swift dependents ( #9299 )
2022-03-23 06:07:17 -07:00
Paul Beusterien
4f793064da
Set up Core Internal for SPM ( #9298 )
2022-03-23 06:07:17 -07:00
Maksym Malyhin
58e73bac24
App Check: error handling with backoff ( #8798 )
...
* AppCheck: backoff wrapper implementation draft (#8748 )
* FIRAppCheckBackoffWrapper draft
* style
* FIRAppCheckBackoffWrapper implementation draft
* FIRAppCheckBackoffWrapperTests
* 1d backoff implementation
* Fix tests
* WIP FIRAppCheckBackoffWrapperFake
* FIRAppCheckBackoffWrapperFake implementation
* FIRDeviceCheckProviderTests + backoff
* TODOs
* rename
* Docs, typos, names and minor refactoring
* App Check: error handling with backoff (#8794 )
* Exponential backoff with jitter
* modify random to arc4random_uniform
* Error handling WIP
* Default backoff strategy for backend errors
* Default error handler implementation and tests
* Exponential backoff tests and fixes
* Exponential becoff recovery tests
* style
* App Attest backoff integration and tests
* More tests and style
* FIRDeviceCheckProviderTests: default error handler tests
* test fixes
* FIRAppAttestProviderTests: backoff error handler tests
* Providers tests: test backoff case
* Better API docs
* Remove `resetBackoff`
* More docs and comment fixes
* FIRAppAttestProviderTests fixes and cleanup
* Higlight 503 error
* comment fix
* Changelog
* More details in changelog
2021-10-13 16:48:17 -04:00
Nick Cooke
a5fbb0a352
[AppCheck] Add support for bundle ID-based API Key Restrictions ( #8678 )
...
* Add X-Ios-Bundle-Identifier to AC SDK
* Update CHANGELOG
* Update CHANGELOG 2
2021-09-21 13:46:30 -04:00
Nick Cooke
89f237ae78
Swift first exception messages ( #8295 )
...
* Swift first exception messages
* Review
* Minor edit
* Minor edit 2
2021-06-25 11:25:23 -04:00
Nick Cooke
1803b00e84
App Check: Token API for 3P use ( #8266 )
...
* Initial API implementation
* Update CHANGELOG
* Update test imports
* Make API async/await friendly by default
* Make API async friendly by default 2
* Fix CI
* Remove async/await example to fix CI
* Edit comment spacing
* Keychain error handling
* API rename and tests
* Add comments to tests
* Add public errors to umbrella header
* Refactor remaining test logic
* Remove newline
* Review
* Fix import style
* Fix import style 2
2021-06-23 13:01:42 -04:00
Maksym Malyhin and Nick Cooke
2ec4dbdae4
App Check: optimize auto-refresh ( #8232 )
...
* App Attest provider: attestation sequence (#7971 )
* App Attest provider: attestation sequence (#761 )
* App Attest draft WIP
* FIRAppAttestProvider initializers
* ./scripts/style.sh
* FIRAppAttestProvider implementation draft
* Basic FIRAppAttestProviderTests and fixes
* style
* testGetTokenWhenAppAttestIsNotSupported
* More FIRAppAttestProviderTests
* Cleanup
* Remove unused file
* Availability annotations on DCAppAttestService category.
* Guard FIRAppAttestProvider with #if TARGET_OS_IOS
* Formatting
* Fix SPM
* app_check.yaml: Add diagnostics SPM builds
* fix yaml
* Fix Firebase-Package scheme bad merge
* Fix typo
* FIRAppAttestProvider: hide default init
* FIRAppAttestKeyIDStorage: methods placeholders
* Comments
* Fix updated block definition
* Implement app attest key ID storage (#8014 )
* Implement FIRAppAttestKeyIDStorage
* Add FIRAppAttestKeyIDStorageTests
* Review [Draft]
* Style
* Docs updates
* Docs updates 2
* Review [Draft] 2
* Improve tests
* Improve test readability
* Improve test readability 2
* App Check App Attest workflow updates: initial handshake (#8032 )
* Handshake adjustments (WIP)
* Introduce FIRAppAttestProviderState
* WIP: calculate attestation state
* WIP: calculate attestation state 2
* formatting
* Comments and moving code around
* Fix init in tests
* Fix state calculation flow
* Cleanup state calculation and fix tests.
* Cleanup and fixes.
* Comments
* formatting
* Fix import
* Typo fixes and additional comments
* FIRAppAttestInitialHandshakeResponse API
* Cleanup state calculation using FBLPromiseAwait
* Cleanup
* style
* FIRAppAttestArtifactStorage implementation and tests (#8041 )
* Update comments
* FIRAppAttestArtifactStorage implementation and tests
* Fix init
* API docs
* Clean up storage in tests
* Comments
* Disable Keychain dependent tests for SPM
* Implement App Attest `getRandomChallenge` (#8033 )
* Initial implementation
* Parse response body for challenge and stub test cases
* Review [Draft]
* Avoid encoding challenge again
* Add tests
* Revert "Avoid encoding challenge again" and add TODO
This reverts commit 69eb00dfe2 .
* Document tests; Add test
* Tests: Add URL validation check
* Review
* Define Exchange AppAttest Assertion for FAC token API (#8058 )
* App Check App Attest: attestation request (#8059 )
* App Attest provider API integration WIP
* update tests
* Draft attestation response parsing
* Attestation request draft
* style
* AppAttest Attestation API tests draft
* Error cases tests
* style
* Cleanup and API docs
* Merge fix
* Fix OCMock imports
* Fix nullability modifier
* Formatting
* comments
* App Check App Attest initial handshake adjustments (#8067 )
* calculatre sha256 of random challenge for attestation
* Test app adjustments
* cleanup
* use trailing closures in the test app
* Implement API for ExchangeAppAttestAssertionRequest endpoint (#8065 )
* Implement assertion exchange
* Tweak existing tests
* Add tests
* Rename JSON to better match gRPC message
* Add HTTPBody helper
* Review
* Review 2
* Review 3
* App Check App Attest assertion flow (#8083 )
* App Attest assertion workflow draft
* send request
* assertion flow tests
* style
* App Check: store App Attest artifact per key ID (#8097 )
* Update artifact storage API and tests
* Artifact storage implementation update
* Save artifact for a key ID
* Style
* typos
* App Check: prevent concurrent token requests (#8117 )
* App Attest multiple get token method invocation tests
* Ensure a single App Attest handshake sequence at the time
* FIRAppCheckTests: get token request merging tests
* FIRAppCheck: Ensure a single get token operation at the time
* formatting
* Test new request after merged requests
* Release finished operation promise
* Style
* Typos
* typo
* Request merging tests for error cases
* formatting
* Changelog
* App Check App Attest: handle attestation rejection (#8170 )
* Remove/update outdated TODOs
* [WIP] Attestation rejection handling draft
* style
* retry tests draft
* reset key ID before retry
* Reset attestation
* test error and fixes
* style
* More details in the name
* Some debug logging
* style
* Use specific codes for log messages
* style
* Add FIRAppAttestProvider.h the umbrella header
* Add receivedAtDate property to the FAC token
* Update tests to check receivedAtDate field where important
* [WIP] Use FIRAppCheckTokenRefreshResult instead in the refresher API
* [WIP] Fix refgresher usage
* Update tests with new API, keep old logic
* Update tests with new logic
* WIP
* WIP
* Initial refresh tests and fixes.
* Add #import <TargetConditionals.h> where needed.
* Formatting
* Cleanup and test updates
* style
* Comments
* Cleanup and comments
* Fix catalyst
* Changelog
* Changelog version fix
* Typo
* Cleanup
* Typo
* Imports order
Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com >
2021-06-11 17:35:37 -04:00
Maksym Malyhin and Nick Cooke
302f91e1ed
App Check: App Attest provider ( #8133 )
...
* App Attest provider: attestation sequence (#7971 )
* App Attest provider: attestation sequence (#761 )
* App Attest draft WIP
* FIRAppAttestProvider initializers
* ./scripts/style.sh
* FIRAppAttestProvider implementation draft
* Basic FIRAppAttestProviderTests and fixes
* style
* testGetTokenWhenAppAttestIsNotSupported
* More FIRAppAttestProviderTests
* Cleanup
* Remove unused file
* Availability annotations on DCAppAttestService category.
* Guard FIRAppAttestProvider with #if TARGET_OS_IOS
* Formatting
* Fix SPM
* app_check.yaml: Add diagnostics SPM builds
* fix yaml
* Fix Firebase-Package scheme bad merge
* Fix typo
* FIRAppAttestProvider: hide default init
* FIRAppAttestKeyIDStorage: methods placeholders
* Comments
* Fix updated block definition
* Implement app attest key ID storage (#8014 )
* Implement FIRAppAttestKeyIDStorage
* Add FIRAppAttestKeyIDStorageTests
* Review [Draft]
* Style
* Docs updates
* Docs updates 2
* Review [Draft] 2
* Improve tests
* Improve test readability
* Improve test readability 2
* App Check App Attest workflow updates: initial handshake (#8032 )
* Handshake adjustments (WIP)
* Introduce FIRAppAttestProviderState
* WIP: calculate attestation state
* WIP: calculate attestation state 2
* formatting
* Comments and moving code around
* Fix init in tests
* Fix state calculation flow
* Cleanup state calculation and fix tests.
* Cleanup and fixes.
* Comments
* formatting
* Fix import
* Typo fixes and additional comments
* FIRAppAttestInitialHandshakeResponse API
* Cleanup state calculation using FBLPromiseAwait
* Cleanup
* style
* FIRAppAttestArtifactStorage implementation and tests (#8041 )
* Update comments
* FIRAppAttestArtifactStorage implementation and tests
* Fix init
* API docs
* Clean up storage in tests
* Comments
* Disable Keychain dependent tests for SPM
* Implement App Attest `getRandomChallenge` (#8033 )
* Initial implementation
* Parse response body for challenge and stub test cases
* Review [Draft]
* Avoid encoding challenge again
* Add tests
* Revert "Avoid encoding challenge again" and add TODO
This reverts commit 69eb00dfe2 .
* Document tests; Add test
* Tests: Add URL validation check
* Review
* Define Exchange AppAttest Assertion for FAC token API (#8058 )
* App Check App Attest: attestation request (#8059 )
* App Attest provider API integration WIP
* update tests
* Draft attestation response parsing
* Attestation request draft
* style
* AppAttest Attestation API tests draft
* Error cases tests
* style
* Cleanup and API docs
* Merge fix
* Fix OCMock imports
* Fix nullability modifier
* Formatting
* comments
* App Check App Attest initial handshake adjustments (#8067 )
* calculatre sha256 of random challenge for attestation
* Test app adjustments
* cleanup
* use trailing closures in the test app
* Implement API for ExchangeAppAttestAssertionRequest endpoint (#8065 )
* Implement assertion exchange
* Tweak existing tests
* Add tests
* Rename JSON to better match gRPC message
* Add HTTPBody helper
* Review
* Review 2
* Review 3
* App Check App Attest assertion flow (#8083 )
* App Attest assertion workflow draft
* send request
* assertion flow tests
* style
* App Check: store App Attest artifact per key ID (#8097 )
* Update artifact storage API and tests
* Artifact storage implementation update
* Save artifact for a key ID
* Style
* typos
* App Check: prevent concurrent token requests (#8117 )
* App Attest multiple get token method invocation tests
* Ensure a single App Attest handshake sequence at the time
* FIRAppCheckTests: get token request merging tests
* FIRAppCheck: Ensure a single get token operation at the time
* formatting
* Test new request after merged requests
* Release finished operation promise
* Style
* Typos
* typo
* Request merging tests for error cases
* formatting
* Changelog
* App Check App Attest: handle attestation rejection (#8170 )
* Remove/update outdated TODOs
* [WIP] Attestation rejection handling draft
* style
* retry tests draft
* reset key ID before retry
* Reset attestation
* test error and fixes
* style
* More details in the name
* Some debug logging
* style
* Use specific codes for log messages
* style
* Add FIRAppAttestProvider.h the umbrella header
Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com >
2021-06-01 10:47:57 -04:00
Nick Cooke
8c10bd5578
Reenable platform logging ( #7948 )
2021-04-23 12:44:23 -04:00
Maksym Malyhin
fc6284ca2e
Integrate App Check with Firebase umbrella pod ( #7937 )
...
* App Check: add to Firebase pod
* Dangerfile: add App Check
* Add App Check to Firebase.h
* Add App Check to FirebaseManifest.swift
* AppCheck: use Firebase version
* style
* Fix App Check swift tests for --use-libraries
* Fix copyright
* Revert unecessary changes
* Disable tests on CI for pod lib lint with --use-libraries and --use-modular-headers
2021-04-22 16:28:18 -04:00
47e0a982fb
App check and storage, functions and RTDB support ( #7928 )
...
* AppAttestation initial public API
* Run ./scripts/style.sh
* Copyright
* Cleanup
* Cleanup
* Get token forcing refresh method
* Formatting
* Forcing refresh samples
* Interop introduced
* Code samples for Interop
* Run ./scripts/style.sh
* Cleanup
* TODOs and Copirights
* Fix build
* Supported iOS versions
* Remove unnecessary bridging header
* Run ./scripts/style.sh
* [WIP] DeviceCheckAttestationProvider as a subspec
* cleanup
* Add memory attributes to readonly properties
* Move FIRDeviceCheckAttestationProvider.h to private headers
* TODO for `FirebaseAppAttestation/Core` name
* Remove memory attributes from FIRAppAttestationToken properties
* FIRAppAttestationTests.testSetAttestationProviderFactory introduced
* FIRAppAttestationToken initializer
* Basic FIRLibrary implementation and FIRAppAttestationProviderFactory ingestion.
* Fix
* FIRAppAttestationToken+Interop.h
* TODOs
* Tests: reset FIRApps
* GHA for App Attestation
* Run ./scripts/style.sh
* Style fixes.
* Run ./scripts/style.sh
* TODO
* Nullable initializer and type annpotations
* TODOs
* TODOs
* TODO
* Fix spec and allow warnings
* AppAttestation initial public API
* Run ./scripts/style.sh
* Copyright
* Cleanup
* Cleanup
* Get token forcing refresh method
* Formatting
* Forcing refresh samples
* Interop introduced
* Code samples for Interop
* Run ./scripts/style.sh
* Cleanup
* TODOs and Copirights
* Fix build
* Supported iOS versions
* Remove unnecessary bridging header
* Run ./scripts/style.sh
* [WIP] DeviceCheckAttestationProvider as a subspec
* cleanup
* Add memory attributes to readonly properties
* Move FIRDeviceCheckAttestationProvider.h to private headers
* TODO for `FirebaseAppAttestation/Core` name
* Remove memory attributes from FIRAppAttestationToken properties
* FIRAppAttestationTests.testSetAttestationProviderFactory introduced
* FIRAppAttestationToken initializer
* Basic FIRLibrary implementation and FIRAppAttestationProviderFactory ingestion.
* Fix
* FIRAppAttestationToken+Interop.h
* TODOs
* Tests: reset FIRApps
* Run ./scripts/style.sh
* Style fixes.
* Run ./scripts/style.sh
* TODO
* Nullable initializer and type annpotations
* TODOs
* TODOs
* TODO
* Revert FirestoreDecoder.swift formatting.
* Basic implementation of FIRDeviceCheckAttestationProvider and tests (#626 )
* DeviceCheck attestation provider sceleton
* DeviceCheck attestation provider sceleton
* Basic FIRDeviceCheckAttestationProviderTests
* Run ./scripts/style.sh
* FIRAppAttestStorage implementation and tests (#627 )
* FIRDeviceCheckAttestationProvider designated init
* FIRAppAttestStorage API and basic tests.
* FIRAppAttestStoredToken: NSSecureCoding implementation
* WIP Storage
* Add `accessGroup` param to `FIRAppAttestStorage`
* FIRAppAttestStorage implementation
* Use constants
* FIRAppAttestStorage API doc
* Coding style and typos.
* Code formatting
* Attestation Token caching (#630 )
* Storage instance and looging
* AppAttestation caching
* Tests and cleanup
* Cleanup
* Rename App Attestation -> App Check (#631 )
* Rename App Attestation -> App Check
* Run ./scripts/style.sh
* Update GHA
* Default Custom Provider (#633 )
* AppCheck: remove not unnecessary public API (#634 )
* AppCheck: remove not unnecessary public API
* Run ./scripts/style.sh
* AppCheck: DeviceCheck token server API (#635 )
* Generic HTTP request handling
* [draft] AppCheck: device check HTTP API and simple tests
* Parse response
* Cleanup
* AppCheck: API errors and tests (#636 )
* AppCheck errors
* API service tests and fixes
* Cleanup
* Run ./scripts/style.sh
* Naming
* AppCheck: Register device check provider factory as a default (#637 )
* AppCheck errors
* API service tests and fixes
* Cleanup
* Run ./scripts/style.sh
* AppCheck: register FIRDeviceCheckProvider as a component
* Naming
* Registre device check provider factory as a default
* FIRDeviceCheckProvider tests
* AppCheck: API communication common for all providers moved to FIRAppCheckAPIService (#640 )
* FIRAppCheckAPIService introduced
* Move URL seession stub to FIRURLSessionOCMockStub
* Run ./scripts/style.sh
* Move approximate date comparing to FIRDateTestUtils
* compose request in FIRAppCheckAPIService
* FIRAppCheckAPIServiceTests
* Use FIRAppCheckAPIService in FIRDeviceCheckProvider
* Cleanup
* DeviceCheck mock server integration and tests (#686 )
* DeviceCheck mock server integration and tests
* TODO
* Update FIROptions.h import
* Temporary add FirebaseAppCheck to skip import validation
* TestUtilities moved to SharedTestUtilities
* FirebaseAppCheck.podspec: TestUtilities->SharedTestUtilities
* SwiftPM: add OCMock dependency to SharedTestUtilities
* FIRURLSessionOCMockStub: #import "OCMock.h"
* App Check: Firebase 7 fixes (#715 )
* AppCheck Firebase 7
* FirebaseCore repo-relative imports
* Fix FIRAppCheckStorage.m compilation
* Repo relative imports
* linebreak
* AppCheck: debug FAC token provider (#716 )
* AppCheck Firebase 7
* FirebaseCore repo-relative imports
* Fix FIRAppCheckStorage.m compilation
* Repo relative imports
* linebreak
* Remove FIRAppCheckDefaultCustomProvider
* FIRAppCheckDebugProvider introduced
* FIRAppCheckDebugProviderTests
* style
* Print locally generated debug token to console
* Fix imports
* mullability and line breaks
* typo
* Comments
* TODO
* AppCheck: merge into single spec (package) (#717 )
* Standard package folder structure
* Move interop header into AppCheck sources folder
* Combine public headers in the standard dir
* Private headers to internal
* Podspec
* Headers import udpdate
* style
* Fix header imports
* Enable check_imports.swift and fix imports
* AppCheck: server request adjustments (#718 )
* Wrap DeviceCheck token into JSON
* AppChek - remove static_framework requirement
* WIP
* Update default base URL
* Set content-type header
* Check for empty response data
* Fix tests
* Style and formatting
* Podspec - revert wrong change and remove static_framework
* Assign error to error pointer safely.
* AppCheck: primitive test app (#719 )
* Remove static_framework requirement
* WIP: FIRAppCheckTestApp introduced
* Delete .plist
* Copyright
* Remove empty test targets
* pod deintegrate
* Remove test targets from Podfile
* formatting
* Storage: integration with AppCheck (#720 )
* Storage: add AppCheck interop dependency
* Inject AppCheck into FIRStorageTokenAuthorizer
* initial AppCheck integration
* Introduce AppCheck fake
* AppCheck fake implementation
* FIRStorageTokenAuthorizer tests and fixes
* @"Authorization" header constant
* Log AppCheck error.
* Cleanup
* FIRStorageTokenAuthorizerTests: helpers
* TODO
* Cleanup
* AppCheck: separate 2P and 3P API (#724 )
* FIRAppCheckInterop: remove a convenience method.
* Rename: FIRAppCheckTokenInterop->FIRAppCheckTokenResultInterop
* FIRAppCheckTokenResult introduced
* Update FIRAppCheckTokenHandlerInterop, FIRAppCheckTokenResultInterop and tests
* style
* Update token result
* Update storage integration
* Adjust check_imports.swift for test files
* Don't use internal AppCheck classes in Storage tests
* style
* Rename token to tokenResult in 2P API
* Add private Core headers to app check sources
* Fix storage log message code format
* token clarification comments in API docs
* Rename token->tokenResult
* AppCheck cleanup (#737 )
* Fix public headers import
* Cleanup imported test utils
* FirebaseAppCheck podspec: revert git URL
* AppCheck: Debug token to AppCheck token exchange API (#739 )
* GUL: make NSURLSession promise extension public
* Use NSURLSession+GULPromises to send requests
* style
* Move FIRAppCheckToken+APIResponse to Core dir
* rename
* FIRAppCheckDebugProviderAPIService introduced
* Move async token parsing API to FIRAppCheckToken extension
* Move token exchange response handling to FIRAppCheckAPIService. Tests WIP.
* Move API response parsing tests to FIRAppCheckAPIServiceTests
* FIRAppCheckDebugProviderAPIServiceTests
* Cleanup
* style
* App Check debug provider: integrate with exchange API (#743 )
* Move FIROption validation to FIRAppCheckValidator
* FIRAppCheckDebugProvider token exchange and tests
* Fix FIRAppCheckDebugProviderFactoryTests
* style
* App Check test app debug provider fix (#747 )
* App Check: minor touchups (#750 )
* Update dummy token value
* Print local debug token to logs
* Require GoogleUtilities v7.2 and above
* Print debug token on init
* Don't print debug token again
* App Check: use prod environment (#751 )
* App Check: use prod backend by default.
* Update token expiration threshold
* App Check SwiftPM support (#753 )
* AppCheck SwiftPM package definition
* Promise header import fix
* OCMock header fix
* Fix fixture dependent tests
* Exclude Keychain dependent tests
* License
* ./scripts/style.sh
* Cleanup
* Format with proper SwiftFormat version
* `.process` resources.
* Swift tests target
* Cleanup and code formatting
* App Check: token auto-refresh (#754 )
* FIRAppCheckTokenRefresher API defined
* FIRAppCheckTokenRefresher implementation draft
* [WIP] Token refresher integration
* Token refresher integration
* FIRAppCheckTests: token refresher tests
* FIRAppCheckTests: additional tests cases
* FIRAppCheckTimer introduced
* FIRAppCheckTokenRefresher: use FIRAppCheckTimer instead of the dispatch timer.
* FIRFakeTimer
* FIRAppCheckTokenRefresherTests testInitialRefresh
* FIRAppCheckTokenRefresherTests: testNextRefreshOnRefreshSuccess
* ./scripts/style.sh
* Exponential backoff
* Style and comments
* Move token refresh files to a separate folder
* FIRAppCheckTimerTests
* FIRAppCheck: use expicit class in init
* FIRAppCheckDebugProviderFactory Swift name
* FIRAppCheckTokenRefresher: Increment/decrement directly
* App Check fixes (#755 )
* Fix backoff: no backoff for the initial request
* Use eager initialization
* FIRAppCheckTokenRefresher: don't refresh until handler set
* FIRAppCheckIntegrationTests: disable token refresher
* Fix testInitialRefresh test
* style
* FIRAppCheckIntegrationTests fix
* Temporary exclude App Check from platfrom logging (#756 )
* App Check: send app check SDK version only in the header (#757 )
* App Check: store FAC token per app ID (#758 )
* App Check: store FAC token per app ID
* update podspec
* API docs
* FIRAppCheck initWithApp tests
* AppCheckCustomProvideApp (#760 )
* Functions: App Check integration (#762 )
* Functions: app check API added to FUNContextProvider
* FUNContextProviderTests
* FUNContextProvider app check support
* ./scripts/style.sh
* FIRFunctions: pass FAC token as HTTP header
* Fix SPM
* Fix Firebase-Package scheme bad merge
* Cleanup
* RTDB: pass FAC token to web socket (#763 )
* RTDB: pass FAC token to web socket
* FIRAppCheckFake default init
* Rename FAuthTokenProvider to FIRDatabaseConnectionContext; integrate with App Check
* Pass App Check token in the HTTP header
* Rename
* Fix existing tests
* TODO
* ./scripts/style.sh
* Context provider: assume separate FAC token change listener
* FIRDatabaseConnectionContextProviderTests
* Remove unused files
* Copy NSMutableURLRequest
* Cleanup
* ./scripts/style.sh
* FIRDatabaseConnectionContextProvider: sync callback when no auth or app check
* Cleanup
* Rename "authToken" leftovers to "context"
* Fix renaming
* Pass missing headers to NSURLSessionWebSocketTask
* Cleanup
* add a name to TODO
* App Check: token update notifications (#764 )
* AppCheck: token did change API and tests
* notification implementation and fixes
* Run ./scripts/style.sh
* Update comments
* RTDB: send app check token updates to keep connection open (#765 )
* Pass AppCheck instance as an object into the the FAC token update notification
* FIRDatabaseConnectionContext: add FAC token change listener API
* formatting
* Send FAC token updates to open connection
* More informative empty response message
* refreshAppCheckToken fixes
* Remove assertion
* Don't modify state
* forceTokensRefresh -> forceTokenRefreshes
* Call listeners on [FIRDatabaseQuery sharedQueue]
* App Check API cleanup and docs (#766 )
* AppCheck public API and docs cleanup
* More API docs
* Fix compilation errors
* typos and wording
* Make summary different from description (pod lib lint warning)
* port app check workflow changes from another branch
* pod lib lint: remove --allow-warnings
* App Check cleanup (#767 )
* Cleanup debug code and outdated TODOs
* Fix FIRDeviceCheckProvider availablility for SPM
* Fix availability in tests
* Fix availability in tests
* Make sure os requirements are consistent for tests specs
* Migrate v1alpha URLs to v1beta
* Migrate v1alpha URLs to v1beta
* Run ./scripts/style.sh
* Functions tests: fix Xcode 11 warnings (#7931 )
* Functions tests: fix Xcode 11 warnings
* style
* App Check: token auto-refresh opt-out API (#769 )
* FIRAppCheckSettings introduced (WIP)
* FIRAppCheckSettingsTests
* Style
* Make FIRAppCheckSettings instance per-app.
* FIRAppCheckTokenRefresher: use FIRAppCheckSettings.isTokenAutoRefreshEnabled (WIP)
* Tests
* Add public instance getters
* Fix analyzer warnings
* Fix testspec OS versions
* FIRAppCheckTokenRefresher expiration date update; tests
* FIRAppCheck.isTokenAutoRefreshEnabled implementation and tests
* style
* FIRAppCheck: Use specific types for variables in the default init
* More precise comments
* missing symbol
* FIRAppCheckSettings: remove defensive conditions from init.
Co-authored-by: Nick Cooke <nickcooke@google.com >
Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com >
2021-04-21 21:01:11 -04:00