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
f73ca9532c
[App Check] Add failure reasons for App Attest error cases ( #11956 )
2023-10-19 17:28:38 -04:00
Andrew Heard
a885d5e023
[App Check] Remove usages of FIR_*_SUPPORTED_TARGETS macros ( #11831 )
2023-09-20 12:07:42 -04: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
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
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
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
Paul Beusterien
1d9bb05997
Fix AppCheck Catalyst build on Xcode 12.4 ( #8184 )
2021-06-03 09:35:13 -07: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