@@ -3,6 +3,7 @@ import { SocialUser } from '../entities/social-user';
33import { EventEmitter } from '@angular/core' ;
44import { BehaviorSubject } from 'rxjs' ;
55import { filter , skip , take } from 'rxjs/operators' ;
6+ import { getGoogleAccountsOrThrow , isGoogleAccountsDefined } from '../utils/google' ;
67
78export interface GoogleInitOptions {
89 /**
@@ -69,6 +70,8 @@ export class GoogleLoginProvider extends BaseLoginProvider {
6970 GoogleLoginProvider . PROVIDER_ID ,
7071 this . getGoogleLoginScriptSrc ( lang ) ,
7172 ( ) => {
73+ if ( ! isGoogleAccountsDefined ( ) ) return ;
74+
7275 google . accounts . id . initialize ( {
7376 client_id : this . clientId ,
7477 auto_select : autoLogin ,
@@ -134,7 +137,7 @@ export class GoogleLoginProvider extends BaseLoginProvider {
134137
135138 refreshToken ( ) : Promise < SocialUser | null > {
136139 return new Promise ( ( resolve , reject ) => {
137- google . accounts . id . revoke ( this . _socialUser . value . id , ( response ) => {
140+ getGoogleAccountsOrThrow ( ) . id . revoke ( this . _socialUser . value . id , ( response ) => {
138141 if ( response . error ) reject ( response . error ) ;
139142 else resolve ( this . _socialUser . value ) ;
140143 } ) ;
@@ -169,7 +172,7 @@ export class GoogleLoginProvider extends BaseLoginProvider {
169172 } else if ( ! this . _accessToken . value ) {
170173 reject ( 'No access token to revoke' ) ;
171174 } else {
172- google . accounts . oauth2 . revoke ( this . _accessToken . value , ( ) => {
175+ getGoogleAccountsOrThrow ( ) . oauth2 . revoke ( this . _accessToken . value , ( ) => {
173176 this . _accessToken . next ( null ) ;
174177 resolve ( ) ;
175178 } ) ;
@@ -186,7 +189,7 @@ export class GoogleLoginProvider extends BaseLoginProvider {
186189 }
187190
188191 async signOut ( ) : Promise < void > {
189- google . accounts . id . disableAutoSelect ( ) ;
192+ getGoogleAccountsOrThrow ( ) . id . disableAutoSelect ( ) ;
190193 this . _socialUser . next ( null ) ;
191194 }
192195
0 commit comments