From 6046ef8655baf040173cf326e2b76922e7af1fe9 Mon Sep 17 00:00:00 2001 From: Joshua Greben Date: Wed, 20 Mar 2019 11:47:10 -0700 Subject: [PATCH] Adds an initial login state in development mode so people do not have to force a mock login --- __tests__/Config.test.js | 20 ++++++++++++++++---- src/Config.js | 8 ++++++++ src/store.js | 21 +++++++++++++++++++-- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/__tests__/Config.test.js b/__tests__/Config.test.js index b2485c8cf..f8ad908f4 100644 --- a/__tests__/Config.test.js +++ b/__tests__/Config.test.js @@ -21,29 +21,41 @@ describe('Config', () => { }) describe('interpolated links from default values', () => { - it('', () => { + it('produces the Cognito Login URL', () => { expect(Config.awsCognitoLoginUrl).toEqual( `https://sinopia-development.auth.us-west-2.amazoncognito.com/login?response_type=token&client_id=${Config.awsClientID}&redirect_uri=https://sinopia.io` ) }) - it('', () => { + it('produces the Cognito Logout URL', () => { expect(Config.awsCognitoLogoutUrl).toEqual( `https://sinopia-development.auth.us-west-2.amazoncognito.com/logout?response_type=token&client_id=${Config.awsClientID}&logout_uri=https://sinopia.io&redirect_uri=https://sinopia.io` ) }) - it('', () => { + it('produces the Cognito Forgot Password URL', () => { expect(Config.awsCognitoForgotPasswordUrl).toEqual( `https://sinopia-development.auth.us-west-2.amazoncognito.com/forgotPassword?response_type=token&client_id=${Config.awsClientID}&redirect_uri=https://sinopia.io` ) }) - it('', () => { + it('produces the Cognito Reset Password URL', () => { expect(Config.awsCognitoResetPasswordUrl).toEqual( `https://sinopia-development.auth.us-west-2.amazoncognito.com/signup?response_type=token&client_id=${Config.awsClientID}&redirect_uri=https://sinopia.io` ) }) + + it('produces a Cognito id_token in development mode for ease of access', () => { + expect(Config.awsCognitoIdToken).toEqual( + 'eyJraWQiOiJZa1ZFamRXUldveVU3alZlWVlvSzNmRzJpOFhDbTRUbFFFUEpsNFBRWEZJPSIsImFsZyI6IlJTMjU2In0.eyJhdF9oYXNoIjoiWjNvUlVua09FU3Jpd05LNHBpR19OdyIsInN1YiI6IjNiOTQ0ODQxLTY2NzEtNDIzYi04NjIyLWVmNTVhMjhlMWRlMyIsImF1ZCI6IjU0M2Nhdjk1dTBxMXJxY2FnczFuZWRjNjhhIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImV2ZW50X2lkIjoiNWE1MTc5YjUtNDUwNi0xMWU5LWI2MzQtYjdlNjk0NzdhNDhkIiwidG9rZW5fdXNlIjoiaWQiLCJhdXRoX3RpbWUiOjE1NTI0MjI5MjAsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy13ZXN0LTIuYW1hem9uYXdzLmNvbVwvdXMtd2VzdC0yX0hVbU5JZG1oeSIsImNvZ25pdG86dXNlcm5hbWUiOiJjaS1lZGl0b3ItdXNlciIsImV4cCI6MTU1MjQyNjUyMCwiaWF0IjoxNTUyNDIyOTIwLCJlbWFpbCI6ImpncmViZW5Ac3RhbmZvcmQuZWR1In0.etfYjc2CSeWOFey9npSpV_dgSQw6ufjaQmEf2lOZ4bzwTYPQ6IFLoetUKPaPQ5jUQWbZwkXA-SV5BsM-t0GRHO6z3VJNLZxwExP1nAJKV-mneWieqBJCr6YBlD-wD-Dn-G3v5uEtx5Ha-ZexfY4YDBMSuUd9uiJhwjiuxAIrp66ZahiW0MuaUNdStRd1X2JGJ2q4TQTLDvVQ0lnuMk6yfD5RDG2oujldJuSMWOJXuMK9DCA-H_xerWYDLEdfa0H8xKOpIsRcx6aIKfOsuv9v57bWonAe11La3UZGyaGf2QyXzMhdEyJSfKynauCfauOtWkvyYx7BuiP8r0v5sFY5EQ' + ) + }) + + it('produces a Cognito id_token in development mode for ease of access', () => { + expect(Config.awsCognitoAccessToken).toEqual( + 'eyJraWQiOiJBaHRJUGtMcUdaR0pFUTkyNmNQckJVdXdqQTZXVTZDNVB2TWJVb0pKQUNvPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIzYjk0NDg0MS02NjcxLTQyM2ItODYyMi1lZjU1YTI4ZTFkZTMiLCJldmVudF9pZCI6IjVhNTE3OWI1LTQ1MDYtMTFlOS1iNjM0LWI3ZTY5NDc3YTQ4ZCIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoib3BlbmlkIGVtYWlsIiwiYXV0aF90aW1lIjoxNTUyNDIyOTIwLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtd2VzdC0yLmFtYXpvbmF3cy5jb21cL3VzLXdlc3QtMl9IVW1OSWRtaHkiLCJleHAiOjE1NTI0MjY1MjAsImlhdCI6MTU1MjQyMjkyMCwidmVyc2lvbiI6MiwianRpIjoiYmE2OWRmMjctOTMzYi00YmM2LTkwYzMtMTJhOWQyNjMxODljIiwiY2xpZW50X2lkIjoiNTQzY2F2OTV1MHExcnFjYWdzMW5lZGM2OGEiLCJ1c2VybmFtZSI6ImNpLWVkaXRvci11c2VyIn0.DGcawIURydWlaENsKHLFaENdrX8706so4b0ISFvy1_KeIBGA6y4lDPQVktXQpQTsZRpgTBOs6N3i7lZjE2SquKTzwkOQ0LyRmwxOwJ2YByNqrQO4-vhs7PHGi6rd_HLBphasjGXfWL_kyzyguWVv2o800AJleK5WXeIkKCFSb0ECyTa6FfsbtIqc-Bc71RroB1gxUg71hDt9XnG8mlkWMYPPFKt06WNQZPnUFwn2A1vP7zOCHYpVN850k7--MWvDWDMCWbTDcq_auj3DdvDEIRZ8-vulCd_VWig89TekEGhcZ4ra8JBN02U1LdB5ZyGIBIPdDvrufge52kqn7uW6Cg' + ) + }) }) }) diff --git a/src/Config.js b/src/Config.js index b466d6d9b..59a102e11 100644 --- a/src/Config.js +++ b/src/Config.js @@ -34,6 +34,14 @@ class Config { static get awsCognitoJWTHashForTest() { return '#id_token=eyJraWQiOiJZa1ZFamRXUldveVU3alZlWVlvSzNmRzJpOFhDbTRUbFFFUEpsNFBRWEZJPSIsImFsZyI6IlJTMjU2In0.eyJhdF9oYXNoIjoiWjNvUlVua09FU3Jpd05LNHBpR19OdyIsInN1YiI6IjNiOTQ0ODQxLTY2NzEtNDIzYi04NjIyLWVmNTVhMjhlMWRlMyIsImF1ZCI6IjU0M2Nhdjk1dTBxMXJxY2FnczFuZWRjNjhhIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImV2ZW50X2lkIjoiNWE1MTc5YjUtNDUwNi0xMWU5LWI2MzQtYjdlNjk0NzdhNDhkIiwidG9rZW5fdXNlIjoiaWQiLCJhdXRoX3RpbWUiOjE1NTI0MjI5MjAsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy13ZXN0LTIuYW1hem9uYXdzLmNvbVwvdXMtd2VzdC0yX0hVbU5JZG1oeSIsImNvZ25pdG86dXNlcm5hbWUiOiJjaS1lZGl0b3ItdXNlciIsImV4cCI6MTU1MjQyNjUyMCwiaWF0IjoxNTUyNDIyOTIwLCJlbWFpbCI6ImpncmViZW5Ac3RhbmZvcmQuZWR1In0.etfYjc2CSeWOFey9npSpV_dgSQw6ufjaQmEf2lOZ4bzwTYPQ6IFLoetUKPaPQ5jUQWbZwkXA-SV5BsM-t0GRHO6z3VJNLZxwExP1nAJKV-mneWieqBJCr6YBlD-wD-Dn-G3v5uEtx5Ha-ZexfY4YDBMSuUd9uiJhwjiuxAIrp66ZahiW0MuaUNdStRd1X2JGJ2q4TQTLDvVQ0lnuMk6yfD5RDG2oujldJuSMWOJXuMK9DCA-H_xerWYDLEdfa0H8xKOpIsRcx6aIKfOsuv9v57bWonAe11La3UZGyaGf2QyXzMhdEyJSfKynauCfauOtWkvyYx7BuiP8r0v5sFY5EQ&access_token=eyJraWQiOiJBaHRJUGtMcUdaR0pFUTkyNmNQckJVdXdqQTZXVTZDNVB2TWJVb0pKQUNvPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIzYjk0NDg0MS02NjcxLTQyM2ItODYyMi1lZjU1YTI4ZTFkZTMiLCJldmVudF9pZCI6IjVhNTE3OWI1LTQ1MDYtMTFlOS1iNjM0LWI3ZTY5NDc3YTQ4ZCIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoib3BlbmlkIGVtYWlsIiwiYXV0aF90aW1lIjoxNTUyNDIyOTIwLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtd2VzdC0yLmFtYXpvbmF3cy5jb21cL3VzLXdlc3QtMl9IVW1OSWRtaHkiLCJleHAiOjE1NTI0MjY1MjAsImlhdCI6MTU1MjQyMjkyMCwidmVyc2lvbiI6MiwianRpIjoiYmE2OWRmMjctOTMzYi00YmM2LTkwYzMtMTJhOWQyNjMxODljIiwiY2xpZW50X2lkIjoiNTQzY2F2OTV1MHExcnFjYWdzMW5lZGM2OGEiLCJ1c2VybmFtZSI6ImNpLWVkaXRvci11c2VyIn0.DGcawIURydWlaENsKHLFaENdrX8706so4b0ISFvy1_KeIBGA6y4lDPQVktXQpQTsZRpgTBOs6N3i7lZjE2SquKTzwkOQ0LyRmwxOwJ2YByNqrQO4-vhs7PHGi6rd_HLBphasjGXfWL_kyzyguWVv2o800AJleK5WXeIkKCFSb0ECyTa6FfsbtIqc-Bc71RroB1gxUg71hDt9XnG8mlkWMYPPFKt06WNQZPnUFwn2A1vP7zOCHYpVN850k7--MWvDWDMCWbTDcq_auj3DdvDEIRZ8-vulCd_VWig89TekEGhcZ4ra8JBN02U1LdB5ZyGIBIPdDvrufge52kqn7uW6Cg&expires_in=3600&token_type=Bearer' } + + static get awsCognitoIdToken() { + return 'eyJraWQiOiJZa1ZFamRXUldveVU3alZlWVlvSzNmRzJpOFhDbTRUbFFFUEpsNFBRWEZJPSIsImFsZyI6IlJTMjU2In0.eyJhdF9oYXNoIjoiWjNvUlVua09FU3Jpd05LNHBpR19OdyIsInN1YiI6IjNiOTQ0ODQxLTY2NzEtNDIzYi04NjIyLWVmNTVhMjhlMWRlMyIsImF1ZCI6IjU0M2Nhdjk1dTBxMXJxY2FnczFuZWRjNjhhIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImV2ZW50X2lkIjoiNWE1MTc5YjUtNDUwNi0xMWU5LWI2MzQtYjdlNjk0NzdhNDhkIiwidG9rZW5fdXNlIjoiaWQiLCJhdXRoX3RpbWUiOjE1NTI0MjI5MjAsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy13ZXN0LTIuYW1hem9uYXdzLmNvbVwvdXMtd2VzdC0yX0hVbU5JZG1oeSIsImNvZ25pdG86dXNlcm5hbWUiOiJjaS1lZGl0b3ItdXNlciIsImV4cCI6MTU1MjQyNjUyMCwiaWF0IjoxNTUyNDIyOTIwLCJlbWFpbCI6ImpncmViZW5Ac3RhbmZvcmQuZWR1In0.etfYjc2CSeWOFey9npSpV_dgSQw6ufjaQmEf2lOZ4bzwTYPQ6IFLoetUKPaPQ5jUQWbZwkXA-SV5BsM-t0GRHO6z3VJNLZxwExP1nAJKV-mneWieqBJCr6YBlD-wD-Dn-G3v5uEtx5Ha-ZexfY4YDBMSuUd9uiJhwjiuxAIrp66ZahiW0MuaUNdStRd1X2JGJ2q4TQTLDvVQ0lnuMk6yfD5RDG2oujldJuSMWOJXuMK9DCA-H_xerWYDLEdfa0H8xKOpIsRcx6aIKfOsuv9v57bWonAe11La3UZGyaGf2QyXzMhdEyJSfKynauCfauOtWkvyYx7BuiP8r0v5sFY5EQ' + } + + static get awsCognitoAccessToken() { + return 'eyJraWQiOiJBaHRJUGtMcUdaR0pFUTkyNmNQckJVdXdqQTZXVTZDNVB2TWJVb0pKQUNvPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIzYjk0NDg0MS02NjcxLTQyM2ItODYyMi1lZjU1YTI4ZTFkZTMiLCJldmVudF9pZCI6IjVhNTE3OWI1LTQ1MDYtMTFlOS1iNjM0LWI3ZTY5NDc3YTQ4ZCIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoib3BlbmlkIGVtYWlsIiwiYXV0aF90aW1lIjoxNTUyNDIyOTIwLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtd2VzdC0yLmFtYXpvbmF3cy5jb21cL3VzLXdlc3QtMl9IVW1OSWRtaHkiLCJleHAiOjE1NTI0MjY1MjAsImlhdCI6MTU1MjQyMjkyMCwidmVyc2lvbiI6MiwianRpIjoiYmE2OWRmMjctOTMzYi00YmM2LTkwYzMtMTJhOWQyNjMxODljIiwiY2xpZW50X2lkIjoiNTQzY2F2OTV1MHExcnFjYWdzMW5lZGM2OGEiLCJ1c2VybmFtZSI6ImNpLWVkaXRvci11c2VyIn0.DGcawIURydWlaENsKHLFaENdrX8706so4b0ISFvy1_KeIBGA6y4lDPQVktXQpQTsZRpgTBOs6N3i7lZjE2SquKTzwkOQ0LyRmwxOwJ2YByNqrQO4-vhs7PHGi6rd_HLBphasjGXfWL_kyzyguWVv2o800AJleK5WXeIkKCFSb0ECyTa6FfsbtIqc-Bc71RroB1gxUg71hDt9XnG8mlkWMYPPFKt06WNQZPnUFwn2A1vP7zOCHYpVN850k7--MWvDWDMCWbTDcq_auj3DdvDEIRZ8-vulCd_VWig89TekEGhcZ4ra8JBN02U1LdB5ZyGIBIPdDvrufge52kqn7uW6Cg' + } } export default Config diff --git a/src/store.js b/src/store.js index 51897a963..e60aac752 100644 --- a/src/store.js +++ b/src/store.js @@ -1,10 +1,27 @@ import { createStore } from 'redux' import reducer from './reducers/index' +import Config from './Config' -const store = createStore(reducer) +let initialState = {} +if(process.env.NODE_ENV === "development") { + initialState = { + authenticate: { + loginJwt: { + id_token: Config.awsCognitoIdToken, + access_token: Config.awsCognitoAccessToken, + username: 'test-user', + isAuthenticated: true, + expiry: 5555555555555 + }} + } +} + +const store = createStore(reducer, initialState) // To use the redux dev tools chrome extention, replace with: // const store = createStore(reducer, -// window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()) +// initialState, +// window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__() +// ) export default store