Skip to content

Conversation

@DellaBitta
Copy link
Contributor

@DellaBitta DellaBitta commented Apr 2, 2023

Description

Provide details of the change, and generalize the change in the PR title above.

Feature branch for Google I/O changes in auth.


Testing

Describe how you've tested these changes. Link any manually triggered Integration tests or CPP binary SDK Packaging Github Action workflows, if applicable.


Type of Change

Place an x the applicable box:

  • Bug fix. Add the issue # below if applicable.
  • New feature. A non-breaking change which adds functionality.
  • Other, such as a build process or documentation change.

Notes

  • Bug fixes and feature changes require an update to the Release Notes section of release_build_files/readme.md.
  • Read the contribution guidelines CONTRIBUTING.md.
  • Changes to the public API require an internal API review. If you'd like to help us make Firebase APIs better, please propose your change in a feature request so that we can discuss it together.
@DellaBitta DellaBitta changed the title Feature/auth googleio 23 Auth Google IO 23 Apr 2, 2023
DellaBitta and others added 3 commits April 6, 2023 11:18
Add a new `PhoneAuthCredential` and return it from a new `PhoneAuthProvider::GetCredential` method. Update the `OnVerificationCompleted` method for Phone Auth to push `PhoneAuthCredential` objects to the application. This new PhoneAuthCredential will be used in other new API methods that will introduced later. For now it returns a `sms_code` string on Android platforms.
Add a new `PhoneAuthProvider::VerifyPhoneNumber` method that takes a `PhoneAuthOptions` structure. For the C++ implementation on Android, update the current `VerifyPhoneNumber` method to call into the new offering. The older Android SDK `VerifyPhoneNumber` method is deprecated and will probably be removed from the Android SDK at Google I/O, so let's fix this before it becomes a problem.
DellaBitta and others added 7 commits April 12, 2023 10:43
Adds the methods to replace those that were deprecated in the Auth and User classes. Duplicated every Integration Test so that there's one test for the deprecated API and one test for the new API. **Note:** `User::LinkAndRetreiveveDataWithCredential` has been removed as it has the same functionality as the new `User::LinkWithCredential`. The major changes of this PR are in four different areas: 1. The addition of tests to `integration_test.cc`. 2. The addition of new methods in the User and Auth implementation. 3. The plaform specific functions that close Futures on callbacks. Functions that faciliate `Future<SignInResult>` and `Future<User*>` completions, marshalling native data into those two return types have been two new compatriot versions for `Future<AuthResult>` and `Future<User>` return types. 4. The internal experimental implementation of FederatedAuth for desktop calls into the user's application to facilitate a auth. The class `FederatedAuthProvider` has been expanded with callbacks that support `AuthResult` objects in addition to the deprecated `SignInResult` objects. Fixes b/138788092.
Numerous product SDKs have iTests which interact with Auth. In a previous feature branch change these tests were changed to use `Future<User*> Auth::current_user_DEPRECATED()`, for instance, as the new Auth API wasn't yet written. This PR updates the tests to use the new APIs, such as `Future<AuthResult> Auth::current_user()`.
`Listener::OnVerificationCompleted(Credential)` is going to be deprecated and should not be required to implement in the derived class.
@jonsimantov jonsimantov marked this pull request as ready for review April 25, 2023 13:53
@jonsimantov jonsimantov added the tests-requested: quick Trigger a quick set of integration tests. label Apr 25, 2023
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. and removed tests-requested: quick Trigger a quick set of integration tests. labels Apr 25, 2023
@github-actions
Copy link

github-actions bot commented Apr 25, 2023

❌  Integration test FAILED

Requested by @jonsimantov on commit 19efa52
Last updated: Tue May 2 22:14 PDT 2023
View integration test log & download artifacts

Failures Configs
app_check [TEST] [FLAKINESS] [Android] [1/3 os: ubuntu] [1/2 android_device: android_target]
(1 failed tests)  FirebaseAppCheckTest.TestDebugProviderValidToken
firestore [TEST] [ERROR] [tvOS] [macos] [tvos_simulator]

Add flaky tests to go/fpl-cpp-flake-tracker

@github-actions github-actions bot added the tests: failed This PR's integration tests failed. label Apr 25, 2023
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Apr 25, 2023
@jonsimantov jonsimantov requested review from github-actions[bot] and removed request for github-actions[bot] April 28, 2023 19:29
@github-actions github-actions bot added the tests: failed This PR's integration tests failed. label Apr 28, 2023
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Apr 28, 2023
@jonsimantov jonsimantov added the tests-requested: quick Trigger a quick set of integration tests. label May 2, 2023
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. and removed tests-requested: quick Trigger a quick set of integration tests. tests: failed This PR's integration tests failed. labels May 2, 2023
@github-actions github-actions bot added the tests: succeeded This PR's integration tests succeeded. label May 2, 2023
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label May 2, 2023
@jonsimantov jonsimantov disabled auto-merge May 2, 2023 18:22
jonsimantov and others added 3 commits May 2, 2023 11:59
* Add comparison operator for Auth::User * Change to use is_valid() * Add tests * format_code * Add != operator * add comments * Add documentation * update TODO * format code --------- Co-authored-by: Jon Simantov <jsimantov@google.com>
@jonsimantov jonsimantov enabled auto-merge (squash) May 3, 2023 00:07
@jonsimantov jonsimantov merged commit 19efa52 into main May 3, 2023
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. and removed tests: succeeded This PR's integration tests succeeded. labels May 3, 2023
@chkuang-g chkuang-g deleted the feature/auth_googleio_23 branch May 3, 2023 01:31
@github-actions github-actions bot added the tests: failed This PR's integration tests failed. label May 3, 2023
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label May 3, 2023
@firebase firebase locked and limited conversation to collaborators Jun 3, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

tests: failed This PR's integration tests failed.

3 participants