javascript/widgets/handler/phonesigninfinish.js
function(userCredential) {
        component.dismissDialog();
        // Show code verified dialog.
        component.showProgressDialog(
            firebaseui.auth.ui.element.progressDialog.State.DONE,
            firebaseui.auth.soy2.strings.dialogCodeVerified().toString());
        // Keep on display for long enough to be seen.
        var codeVerifiedTimer = setTimeout(function() {
          // Dismiss dialog and dispose of component before completing sign-in.
          component.dismissDialog();
          component.dispose();
          var authResult = /** @type {!firebaseui.auth.AuthResult} */ ({
            // User already signed on external instance.
            'user': app.getExternalAuth().currentUser,
            // Phone Auth operations do not return a credential.
            'credential': null,
            'operationType': userCredential['operationType'],
            'additionalUserInfo': userCredential['additionalUserInfo']
          });
          firebaseui.auth.widget.handler.common.setLoggedInWithAuthResult(
              app, component, authResult, true);
        }, firebaseui.auth.widget.handler.CODE_SUCCESS_DIALOG_DELAY);
        // On reset, clear timeout.
        app.registerPending(function() {
          // Dismiss dialog if still visible.
          if (component) {
            component.dismissDialog();
          }
          clearTimeout(codeVerifiedTimer);
        });
      }
function(userCredential) {
        component.dismissDialog();
        // Show code verified dialog.
        component.showProgressDialog(
            firebaseui.auth.ui.element.progressDialog.State.DONE,
            firebaseui.auth.soy2.strings.dialogCodeVerified().toString());
        // Keep on display for long enough to be seen.
        var codeVerifiedTimer = setTimeout(function() {
          // Dismiss dialog and dispose of component before completing sign-in.
          component.dismissDialog();
          component.dispose();
          var authResult = /** @type {!firebaseui.auth.AuthResult} */ ({
            // User already signed on external instance.
            'user': app.getExternalAuth().currentUser,
            // Phone Auth operations do not return a credential.
            'credential': null,
            'operationType': userCredential['operationType'],
            'additionalUserInfo': userCredential['additionalUserInfo']
          });
          firebaseui.auth.widget.handler.common.setLoggedInWithAuthResult(
              app, component, authResult, true);
        }, firebaseui.auth.widget.handler.CODE_SUCCESS_DIALOG_DELAY);
        // On reset, clear timeout.
        app.registerPending(function() {
          // Dismiss dialog if still visible.
          if (component) {
            component.dismissDialog();
          }
          clearTimeout(codeVerifiedTimer);
        });
      }
function ( userCredential ) { component . dismissDialog ( ) ; // Show code verified dialog. component . showProgressDialog ( firebaseui . auth . ui . element . progressDialog . State . DONE , firebaseui . auth . soy2 . strings . dialogCodeVerified ( ) . toString ( ) ) ; // Keep on display for long enough to be seen. var codeVerifiedTimer = setTimeout ( function ( ) { // Dismiss dialog and dispose of component before completing sign-in. component . dismissDialog ( ) ; component . dispose ( ) ; var authResult = /** @type {!firebaseui.auth.AuthResult} */ ( { // User already signed on external instance. 'user' : app . getExternalAuth ( ) . currentUser , // Phone Auth operations do not return a credential. 'credential' : null , 'operationType' : userCredential [ 'operationType' ] , 'additionalUserInfo' : userCredential [ 'additionalUserInfo' ] } ) ; firebaseui . auth . widget . handler . common . setLoggedInWithAuthResult ( app , component , authResult , true ) ; } , firebaseui . auth . widget . handler . CODE_SUCCESS_DIALOG_DELAY ) ; // On reset, clear timeout. app . registerPending ( function ( ) { // Dismiss dialog if still visible. if ( component ) { component . dismissDialog ( ) ; } clearTimeout ( codeVerifiedTimer ) ; } ) ; }
On success a user credential is returned.
On success a user credential is returned .