|
15 | 15 | * limitations under the License. |
16 | 16 | */ |
17 | 17 |
|
| 18 | +import { FirebaseApp, _isFirebaseServerApp } from '@firebase/app'; |
18 | 19 | import { |
19 | 20 | AppCheckInternalComponentName, |
20 | 21 | AppCheckTokenListener, |
@@ -497,6 +498,7 @@ export class FirebaseAppCheckTokenProvider |
497 | 498 | private latestAppCheckToken: string | null = null; |
498 | 499 |
|
499 | 500 | constructor( |
| 501 | + private app: FirebaseApp, |
500 | 502 | private appCheckProvider: Provider<AppCheckInternalComponentName> |
501 | 503 | ) {} |
502 | 504 |
|
@@ -562,6 +564,11 @@ export class FirebaseAppCheckTokenProvider |
562 | 564 | } |
563 | 565 |
|
564 | 566 | getToken(): Promise<Token | null> { |
| 567 | + if (_isFirebaseServerApp(this.app) && this.app.settings.appCheckToken) { |
| 568 | + return Promise.resolve( |
| 569 | + new AppCheckToken(this.app.settings.appCheckToken) |
| 570 | + ); |
| 571 | + } |
565 | 572 | debugAssert( |
566 | 573 | this.tokenListener != null, |
567 | 574 | 'FirebaseAppCheckTokenProvider not started.' |
@@ -622,16 +629,25 @@ export class EmptyAppCheckTokenProvider implements CredentialsProvider<string> { |
622 | 629 | /** AppCheck token provider for the Lite SDK. */ |
623 | 630 | export class LiteAppCheckTokenProvider implements CredentialsProvider<string> { |
624 | 631 | private appCheck: FirebaseAppCheckInternal | null = null; |
| 632 | + private serverAppAppCheckToken?: string; |
625 | 633 |
|
626 | 634 | constructor( |
| 635 | + private app: FirebaseApp, |
627 | 636 | private appCheckProvider: Provider<AppCheckInternalComponentName> |
628 | 637 | ) { |
| 638 | + if (_isFirebaseServerApp(app) && app.settings.appCheckToken) { |
| 639 | + this.serverAppAppCheckToken = app.settings.appCheckToken; |
| 640 | + } |
629 | 641 | appCheckProvider.onInit(appCheck => { |
630 | 642 | this.appCheck = appCheck; |
631 | 643 | }); |
632 | 644 | } |
633 | 645 |
|
634 | 646 | getToken(): Promise<Token | null> { |
| 647 | + if (this.serverAppAppCheckToken) { |
| 648 | + return Promise.resolve(new AppCheckToken(this.serverAppAppCheckToken)); |
| 649 | + } |
| 650 | + |
635 | 651 | if (!this.appCheck) { |
636 | 652 | return Promise.resolve(null); |
637 | 653 | } |
|
0 commit comments