Yakov Manshin
c590762053
[ #13326 ] App Check Tests ( #13327 )
2024-07-22 08:32:30 -07:00
Nick Cooke
bee45d0e4a
[AppCheck] Remove unused Promises dependency ( #13315 )
2024-07-19 13:24:34 -04:00
Andrew Heard
64fd5c2021
Remove FIRAppCheckProtocol from FirebaseAppCheckInterop SDK ( #13263 )
2024-07-10 16:51:16 -04:00
Andrew Heard
61384c1223
Merge branch 'main' into release-11.0-merge
...
# Conflicts:
# Firebase.podspec
# FirebaseABTesting.podspec
# FirebaseAnalytics.podspec
# FirebaseAnalyticsOnDeviceConversion.podspec
# FirebaseAppCheck.podspec
# FirebaseAppCheckInterop.podspec
# FirebaseAppDistribution.podspec
# FirebaseAuth.podspec
# FirebaseAuthInterop.podspec
# FirebaseCore.podspec
# FirebaseCoreExtension.podspec
# FirebaseCoreInternal.podspec
# FirebaseCrashlytics.podspec
# FirebaseDatabase.podspec
# FirebaseDynamicLinks.podspec
# FirebaseFirestore.podspec
# FirebaseFirestoreInternal.podspec
# FirebaseFunctions.podspec
# FirebaseInAppMessaging.podspec
# FirebaseInstallations.podspec
# FirebaseMLModelDownloader.podspec
# FirebaseMessaging.podspec
# FirebaseMessaging/CHANGELOG.md
# FirebaseMessagingInterop.podspec
# FirebasePerformance.podspec
# FirebaseRemoteConfig.podspec
# FirebaseRemoteConfigInterop.podspec
# FirebaseSessions.podspec
# FirebaseSharedSwift.podspec
# FirebaseStorage.podspec
# FirebaseVertexAI/Sources/VertexAIComponent.swift
# GoogleAppMeasurement.podspec
# GoogleAppMeasurementOnDeviceConversion.podspec
# Package.swift
# ReleaseTooling/Sources/FirebaseManifest/FirebaseManifest.swift
2024-06-21 15:33:16 -04:00
Andrew Heard
f3ce673e62
Add FIRAppCheckTokenProtocol for use in FIRAppCheckProtocol ( #13035 )
2024-06-11 16:44:20 -04: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
Morgan Chen
fc42195ad7
redeclare protocol method so it can be added to docs ( #12142 )
2023-11-28 17:29:22 -05:00
Andrew Heard
a83297908d
[App Check] Implement FirebaseAppCheck as a shim of AppCheckCore ( #12067 )
2023-11-07 18:54:45 -05:00
Andrew Heard
1317f08326
[App Check] Reset App Attest key state if attestKey fails ( #11986 )
2023-10-24 13:30:40 -04: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
a885d5e023
[App Check] Remove usages of FIR_*_SUPPORTED_TARGETS macros ( #11831 )
2023-09-20 12:07:42 -04:00
Andrew Heard
a471cc8120
Add FIRAppCheckProtocol to FirebaseAppCheckInterop SDK ( #11660 )
2023-09-14 17:11:28 -04:00
Andrew Heard
77fa63da55
[App Check] Add DeviceCheck isSupported check ( #11663 )
...
Added a DeviceCheck isSupported check and return a FIRAppCheckErrorCodeUnsupported error when not supported (e.g., when running on the simulator or older Macs). This was done to match the behaviour of the FIRAppAttestProvider.
2023-08-09 13:45:38 -04:00
Andrew Heard
4b9cbf6155
[App Check] Fix App Attest and DeviceCheck API availability ( #11662 )
...
- Updated the FIR_DEVICE_CHECK_PROVIDER_AVAILABILITY and FIR_APP_ATTEST_PROVIDER_AVAILABILITY API availability macros to reflect the set of supported platforms for DeviceCheck (iOS 11+, macOS 10.15+, macCatalyst 13+, tvOS 11+, watchOS 9+) and App Attest (iOS 14+, macOS 11.3+, macCatalyst 14.5+, tvOS 15+, watchOS 9+).
- Removed the extraneous check for the watchOS 9 SDK now that Xcode 14 is the minimum supported by Firebase.
Removed the #if TARGET_OS_IOS compiler directive in AppCheckAPITests.swift since TARGET_OS_IOS is only available in Objective-C and was always false.
2023-08-08 17:26:09 -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
Morgan Chen
93dbf7df4c
fix undocumented appcheck ( #11224 )
2023-05-03 14:10:33 -07: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
Nick Cooke
a6164a8f18
[AppCheck] Refine public docs ( #10265 )
...
skip ci
2022-09-26 17:27:15 -07:00
Nick Cooke
c105a0de10
[AppCheck] App Attest provider is supported by watchOS 9.0+ ( #10098 )
...
* [AppCheck] App Attest provider is supported by watchOS 9.0+
* Style
* Add TODO
* [skip ci] Review
2022-08-12 14:43:23 -04:00
Nick Cooke
0373d0bf40
[AppCheck] App Attest provider is supported by tvOS 15.0+ ( #10093 )
...
* [AppCheck] Update supported targets for AppAttestProvider
* CHANGELOG update
2022-08-12 12:06:15 -04:00
Nick Cooke
62c77523de
[AppCheck] DeviceCheck provider is supported by watchOS 9.0+ ( #10094 )
...
* [AppCheck] DeviceCheck provider is supported by watchOS 9.0+
* Update CHANGELOG
* trailing whitespace
* Review
2022-08-12 00:49:32 -04:00
Nick Cooke
2631ca6e84
Revert "Add note on debug token in docs ( #9639 )" ( #9643 )
...
This reverts commit ac7795c679 .
2022-04-12 18:52:38 -04:00
Nick Cooke
ac7795c679
Add note on debug token in docs ( #9639 )
2022-04-12 16:36:52 -04: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
Sebastian Schmidt
697730ff12
Add AppCheck Interop for Firestore ( #8749 )
2021-10-08 08:58:08 -06: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
Morgan Chen
ff4bf40819
Remove conditional compilation in app check headers ( #8493 )
...
* Remove conditional compilation in app check headers
* Fix missing symbols in build
* throw exception
* update headerdocs
* Revert changes except doc comments
* Update changelog
2021-08-04 15:17:28 -07:00
Maksym Malyhin
85c42dc2c5
Make App Check core availability for all supported platforms ( #8388 )
...
* Update App Check availability to match Core
* AppAttest availability update
* Fix watchOS
* watchOS
* style
* fix import
* Fix Xcode support before 12.5
* changelog
* Comments
* Use week linking for DeviceCheck framework
* Fix mac catalyts version
2021-07-15 16:41:46 -04:00
Nick Cooke
2ab4bd743f
AppCheck Swift API build tests ( #8331 )
...
* Initial AppAttest API build tests
* AppCheck Swift API build tests
* Fix CI
* Test @available(swift 5.5)
* Review
* Explicit availability checks
2021-07-01 19:57:10 -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