Merge pull request #2716 from lbryio/auth

Send auth token to lbry.tv once email is verified
This commit is contained in:
Sean Yesmunt 2019-08-06 12:20:15 -04:00 committed by GitHub
commit b242ae3408
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 3 deletions

5
src/platforms/web/fs.js Normal file
View file

@ -0,0 +1,5 @@
export default {
readFileSync: () => undefined,
accessFileSync: () => undefined,
constants: {},
};

View file

@ -1,13 +1,14 @@
import { hot } from 'react-hot-loader/root';
import { connect } from 'react-redux';
import { doUpdateBlockHeight, doError, doFetchTransactions } from 'lbry-redux';
import { selectUser, doRewardList, doFetchRewardedContent } from 'lbryinc';
import { selectUser, doRewardList, doFetchRewardedContent, selectAccessToken } from 'lbryinc';
import { selectThemePath } from 'redux/selectors/settings';
import App from './view';
const select = state => ({
user: selectUser(state),
theme: selectThemePath(state),
accessToken: selectAccessToken(state),
});
const perform = dispatch => ({

View file

@ -1,6 +1,7 @@
// @flow
import React, { useEffect, useRef } from 'react';
import analytics from 'analytics';
import { Lbry } from 'lbry-redux';
import Router from 'component/router/index';
import ModalRouter from 'modal/modalRouter';
import ReactModal from 'react-modal';
@ -17,17 +18,19 @@ type Props = {
pageTitle: ?string,
language: string,
theme: string,
user: ?{ id: string },
accessToken: ?string,
user: ?{ id: string, has_verified_email: boolean },
fetchRewards: () => void,
fetchRewardedContent: () => void,
fetchTransactions: () => void,
};
function App(props: Props) {
const { theme, fetchRewards, fetchRewardedContent, fetchTransactions, user } = props;
const { theme, fetchRewards, fetchRewardedContent, fetchTransactions, user, accessToken } = props;
const appRef = useRef();
const isEnhancedLayout = useKonamiListener();
const userId = user && user.id;
const hasVerifiedEmail = user && user.has_verified_email;
useEffect(() => {
ReactModal.setAppElement(appRef.current);
@ -50,6 +53,14 @@ function App(props: Props) {
}
}, [userId]);
// @if TARGET='web'
useEffect(() => {
if (hasVerifiedEmail && accessToken) {
Lbry.setApiHeader('X-Lbry-Auth-Token', accessToken);
}
}, [hasVerifiedEmail, accessToken]);
// @endif
return (
<div className={MAIN_WRAPPER_CLASS} ref={appRef} onContextMenu={e => openContextMenu(e)}>
<Header />

View file

@ -41,6 +41,7 @@ const webConfig = {
alias: {
electron: path.resolve(__dirname, 'src/platforms/web/stubs'),
fs: path.resolve(__dirname, 'src/platforms/web/fs'),
},
},
plugins: [