Commit Graph
72 Commits
Author SHA1 Message Date
Andrew Heard e390f7dbba [App Check] Add CHANGELOG entry for 10.18.0 (#12068) 2023-11-07 19:00:45 -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 88d1530d30 Replace FIRDeviceCheckAPIServiceE2ETests with AppCheckE2ETests (#12031) 2023-11-01 10:38:57 -04:00
Nick Cooke 1e0055d308 [Release] Update AppCheck changelog (#11993) 2023-10-24 14:54:05 -07: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 0e7e4f9821 Switch to #import <Foundation/Foundation.h> in FIRAppCheckProtocol.h (#11864) 2023-09-28 14:37:47 -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 00fd7c0829 Enable FIRAppCheckTests on CI (#11827) 2023-09-20 10:59:14 -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
ae871b9dc1 Update to swiftformat 0.51.12 (#11531)
Co-authored-by: Andrew Heard <andrewheard@google.com>
Co-authored-by: Nick Cooke <nickcooke@google.com>
2023-07-11 15:54:51 -07:00
Nick Cooke 1e040186a6 [Infra] Remove HeartbeatLoggingTestUtils.podspec (#11370)
* [Infra] Remove HeartbeatLoggingTestUtils.podspec

* Review
2023-06-01 13:31:39 -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
Nick Cooke 62bb542a94 [Release] Update CHANGELOGs for 10.9.0 release (#11146)
* [Release] Update CHANGELOGs for 10.9.0 release

* Review
2023-04-18 18:24:30 -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 f233d5b6a5 [Cleanup] Follow-up to #10259 (#10262)
* [Cleanup] Follow-up to 10259

* [skip ci] Resolve TODO

In an effort to resolve this TODO, I marked the protocol as @optional to clean
up some of the duplicate test code. While it cleaned up the test code, it did
clutter up the actual usage of the API so I decided against doing so.
2022-09-26 19:04:16 -04:00
Nick Cooke 43c62f0526 [Infra] Remove CoreDiagnostics library and references (#10259)
* [Infra] Remove CoreDiagnostics library and references

* Style localize_podfile.swift

* Add GDT to SharedTestUtils

* Update GoogleUtilities.cmake config

* Run all CI

* Update GoogleUtilities.cmake config (2)

* Resolve FIRApp.m TODO

* [skip ci] Revert Gemfile
2022-09-26 00:03:55 -04:00
Nick Cooke 16304ea7eb [AppCheck] Disable tests that use keychain (#10146) 2022-08-26 23:39:56 -04: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 ced8b554a0 [Infra] Standardize CHANGELOG header format (#9777) 2022-05-10 17:54:58 -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
Nick Cooke 9e475a5c58 [v9] End beta period and update release tooling for select products (#9603)
* Exit beta for several products

* Review

* Fix typo

* [skip ci] Update CHANGELOGs for breaking change
2022-04-08 11:59:58 -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
Paul Beusterien 0c8536e35e Port Storage unit tests to Swift for corresponding Swift ports (#9521) 2022-04-04 13:28:54 -07:00
Ryan Wilson 2258c07ecb Swift Error Improvements (#9512)
* Firebase Messaging enum

* Add tests for App Check errors

* App Distribution Error

* Installations error improvements

* Remote Config errors

* Firestore error handling

* Formatting

* Silly import error

* Consistency for App Check tests.

* Typo fix
2022-04-04 10:36:38 -04:00
Ryan Wilson 73279db127 Enable async/await APIs for iOS 13, etc. (#9540)
* Enable async/await APIs for iOS 13, etc.

This bumps the required compiler version to 5.5.2 which was included in
Xcode 13.2, where backporting was first introduced.

This breaks less developers and enables developers who aren't using
these APIs to still compile using Xcode 13.0 and 13.1.

As far as I can tell, the only breakage this includes now is developers
who are using Xcode 13.0 or 13.1, targeting iOS 15 and using one of
these 7 APIs. It will result in a compiler error and they'll have to
either use the completion handler version or upgrade to Xcode 13.2+ to
fix the compilation error.

* Missed checks, CHANGELOG

* Fixed avialability, added watchOS for RTDB

* Moved to watchOS 7 for all async/await APIs to match platform support
2022-04-01 09:56:33 -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
Paul Beusterien eaaa0a69d1 Fix SPM AppCheck build for watchOS (#9226) 2022-01-19 09:25:10 -08:00
Nick Cooke d6e7bb7d38 Update async-related directives in Swift build tests (#9063)
* Update directives in Swift build tests

* Fix CoreAPITests

* Fix CoreAPITests 2

* Fix installations and style
2021-12-09 14:30:43 -05:00
Paul Beusterien 7aebb8f597 Fix AppCheckAPITests for Xcode 13.0 macos/Catalyst (#8848) 2021-10-21 14:08:16 -07:00
Maksym Malyhin b88646e713 Move FIRAppCheckBackoffWrapperFake to a separate folder (#8805)
* Move FIRAppCheckBackoffWrapperFake to a separate folder

* Add AppCheckBackoffWrapperFake to App Check podspec
2021-10-14 12:22:27 -04: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