@@ -42,14 +42,23 @@ const MIME_SOURCE = 'text/plain';
42
42
// GIS Token Client
43
43
let googleProvider : GoogleOAuthProvider ;
44
44
// Login function
45
- const googleLogin = ( ) =>
46
- new Promise < SuccessTokenResponse > ( ( resolve , reject ) => {
47
- googleProvider . useGoogleLogin ( {
48
- flow : 'implicit' ,
49
- onSuccess : resolve ,
50
- scope : SCOPES
51
- } ) ( ) ;
52
- } ) ;
45
+ function * googleLogin ( ) {
46
+ try {
47
+ const tokenResp : SuccessTokenResponse = yield new Promise < SuccessTokenResponse > (
48
+ ( resolve , reject ) => {
49
+ googleProvider . useGoogleLogin ( {
50
+ flow : 'implicit' ,
51
+ onSuccess : resolve ,
52
+ onError : reject ,
53
+ scope : SCOPES
54
+ } ) ( ) ;
55
+ }
56
+ ) ;
57
+ yield call ( handleUserChanged , tokenResp . access_token ) ;
58
+ } catch ( ex ) {
59
+ console . error ( ex ) ;
60
+ }
61
+ }
53
62
54
63
export function * persistenceSaga ( ) : SagaIterator {
55
64
yield takeLatest ( LOGOUT_GOOGLE , function * ( ) : any {
@@ -62,7 +71,6 @@ export function* persistenceSaga(): SagaIterator {
62
71
yield takeLatest ( LOGIN_GOOGLE , function * ( ) : any {
63
72
yield call ( ensureInitialised ) ;
64
73
yield call ( googleLogin ) ;
65
- yield call ( handleUserChanged , gapi . client . getToken ( ) . access_token ) ;
66
74
} ) ;
67
75
68
76
yield takeEvery ( PERSISTENCE_INITIALISE , function * ( ) : any {
@@ -386,14 +394,12 @@ function* ensureInitialisedAndAuthorised() {
386
394
387
395
if ( currToken === null ) {
388
396
yield call ( googleLogin ) ;
389
- yield call ( handleUserChanged , gapi . client . getToken ( ) . access_token ) ;
390
397
} else {
391
398
// check if loaded token is still valid
392
399
const email : string | undefined = yield call ( getUserProfileDataEmail ) ;
393
400
const isValid = email ? true : false ;
394
401
if ( ! isValid ) {
395
402
yield call ( googleLogin ) ;
396
- yield call ( handleUserChanged , gapi . client . getToken ( ) . access_token ) ;
397
403
}
398
404
}
399
405
}
0 commit comments