Implementing firebaseUI in Angular, I am missing support for a 'keep me signed in' option.

I realize firebaseUI is renewing the flow of 'signing up' and 'logging in', merging those two steps into one (<https://github.com/firebase/firebaseui-web/issues/665#issuecomment-596197657>). 
However I cannot find an excuse for not offering the user the security option of choosing the right auth persistence (<https://firebase.google.com/docs/auth/web/auth-state-persistence>). 
firebaseUI-angular partly document a firebaseui.disableAutoSignIn(), but this is not a toggle, but only a one-way option (<https://github.com/RaphaelJenni/FirebaseUI-Angular#disable-autosign>).

So, what am I missing here? 
How should a user protect his data, if visiting his account on a public device, when auth persistence is implicit set to LOCAL?

UPDATE

After a couple of rounds, I got to a working 'keep me signed in'-option - but only using Google sign-in, not when using Email/Link sign-in.

The core problem with Email/Link is that the emailed link/url authenticates in a new browser tab, and during this it turns auth persistence on hard. The emailed link/url goes to firebaseapp.com that authenticates and re-directs to the Angular app. So how to pass on the user's persistence choice in this flow?

A firebaseUI-web + Angular sandbox is very fast to set up:

1. Blank Angular project
2. npm i firebase @angular/fire firebaseui --save
3. firebaseConfig set in environment.ts
4. Below code

app.module.ts:

```
import {AngularFireModule} from '@angular/fire';
import {AngularFireAuthModule} from '@angular/fire/auth';
import {environment} from 'src/environments/environment';
...
@NgModule({ ...
    imports: [ ...
        AngularFireModule.initializeApp(environment.firebaseConfig),
        AngularFireAuthModule,
    ...

```

app.component.ts:

```
import { Component, OnInit } from '@angular/core';
import { AngularFireAuth } from '@angular/fire/auth';
import * as firebase from 'firebase/app';
import * as firebaseui from 'firebaseui';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {

    ui: firebaseui.auth.AuthUI; // firebaseUI reference
    uiLinkUrl = false;
    keepSignin = false;

    constructor(public afAuth: AngularFireAuth) {}

    ngOnInit() {
        this.ui = new firebaseui.auth.AuthUI(firebase.auth());

        if (this.ui.isPendingRedirect()) {
            this.uiLinkUrl = true;
        }

        this.afAuth.authState.subscribe((response) => {
            if (response) {
                // update html element if not routing.
                this.showFirebaseUI(); 
            } else {
                // only update persistence if signed out, and not reroute.
                if (!this.uiLinkUrl) {
                    this.afAuth.auth.setPersistence(this.keepSignin ? 
                        firebase.auth.Auth.Persistence.LOCAL : 
                        firebase.auth.Auth.Persistence.SESSION);
                }
                this.uiLinkUrl = false;
                this.showFirebaseUI();
            }
        });
    }

    toggleKeepSignin() {
        this.keepSignin = !this.keepSignin;
        this.afAuth.auth.setPersistence(this.keepSignin ? 
            firebase.auth.Auth.Persistence.LOCAL : 
            firebase.auth.Auth.Persistence.SESSION);
    }

    showFirebaseUI() {
        // The start method will wait until the DOM is loaded.
        this.ui.start('#firebaseui-auth-container', {
            callbacks: {
                uiShown: function () {
                    document.getElementById('loader').style.display = 'none';
                },
                signInSuccessWithAuthResult: function (authResult, redirectUrl) {
                    return false;
                },
            },
            credentialHelper: firebaseui.auth.CredentialHelper.NONE,
            signInFlow: 'popup',
            signInOptions: [
                { provider: firebase.auth.GoogleAuthProvider.PROVIDER_ID, 
                    customParameters: {prompt: 'select_account'} },
                { provider: firebase.auth.EmailAuthProvider.PROVIDER_ID, 
                    signInMethod: firebase.auth.EmailAuthProvider.EMAIL_LINK_SIGN_IN_METHOD },
            ],
        });
    }
}

```

app.component.html:

```
<div *ngIf="afAuth.auth.currentUser">
    <h1 style="color:#0a0;">Signed IN</h1>
    <button (click)="afAuth.auth.signOut()">Sign Out</button>
</div>

<div *ngIf="!afAuth.auth.currentUser">
    <h1 style="color:#a00;">Signed OUT</h1>
</div>

<div style="background:#222;" id="firebaseui-auth-container"></div>
<div id="loader">Loading...</div>

<div style="text-align:center;" (click)="toggleKeepSignin()">
    <input type="checkbox" [checked]="keepSignin">Keep me signed in
</div>

```