Commit Graph
57 Commits
Author SHA1 Message Date
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
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 HeardandNick 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 ChengandAndrew 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