Example #1
0
        login_window.webContents.on('will-navigate', (event: Event, url: string) => {
            event.preventDefault();
            log.debug('Login window: will-navigate: ', url);

            const match = url.match(/\?oauth_token=([^&]*)&oauth_verifier=([^&]*)/);
            if (!match) {
                return;
            }

            oauth.getOAuthAccessToken(request_token, request_token_secret, match[2], (err, token, token_secret) => {
                log.debug('access token:', token);

                if (err) {
                    setTimeout(() => login_window.close(), 0);
                    reject(err);
                    return;
                }

                const access = {
                    token,
                    token_secret,
                };

                resolve(access);

                writeFile(config_path, JSON.stringify(access), e => {
                    if (e) {
                        log.warn('Failed to store tokens to a token.json', e);
                    }
                    login_window.close();
                });
            });
        });
Example #2
0
 return new Promise((resolve, reject) => {
     const oauth = new OAuth(
         'https://twitter.com/oauth/request_token',
         'https://twitter.com/oauth/access_token',
         consumer_key,
         consumer_secret,
         '1.0A',
         'https://example.com', // Note: Will not be used
         'HMAC-SHA1'
     );
     oauth.getOAuthRequestToken((err, token, token_secret) => {
         log.debug('Request token:', token);
         if (err) {
             reject(err);
             return;
         }
         resolve(authenticate_with_request_tokens(oauth, token, token_secret));
     });
 });