feat: omit pazuz-related headers when build target is lamassu

fix: rename headers to get up to standard
feat: pazuz user registration links now contain schema identification param
This commit is contained in:
Sérgio Salgado 2021-09-23 15:41:33 +01:00
parent 6f285d30c5
commit eb18440320
5 changed files with 92 additions and 35 deletions

View file

@ -3,6 +3,7 @@ import { makeStyles } from '@material-ui/core/styles'
import base64 from 'base-64'
import gql from 'graphql-tag'
import QRCode from 'qrcode.react'
import * as R from 'ramda'
import React, { useContext, useState } from 'react'
import { useHistory } from 'react-router-dom'
@ -68,18 +69,39 @@ const Setup2FAState = ({ state, dispatch }) => {
setInvalidToken(false)
}
const { error: queryError } = useQuery(GET_2FA_SECRET, {
const queryOptions = {
variables: { username: state.clientField, password: state.passwordField },
context: {
headers: {
pazuz_operatoridentifier: base64.encode(state.clientField)
'Pazuz-Operator-Identifier': base64.encode(state.clientField)
}
},
onCompleted: ({ get2FASecret }) => {
setSecret(get2FASecret.secret)
setOtpauth(get2FASecret.otpauth)
}
})
}
const mutationOptions = {
variables: {
username: state.clientField,
password: state.passwordField,
rememberMe: state.rememberMeField,
codeConfirmation: twoFAConfirmation
},
context: {
headers: {
'Pazuz-Operator-Identifier': base64.encode(state.clientField)
}
}
}
const { error: queryError } = useQuery(
GET_2FA_SECRET,
process.env.REACT_APP_BUILD_TARGET === 'LAMASSU'
? R.omit(['context'], queryOptions)
: queryOptions
)
const [getUserData] = useLazyQuery(GET_USER_DATA, {
onCompleted: ({ userData }) => {
@ -90,14 +112,19 @@ const Setup2FAState = ({ state, dispatch }) => {
const [setup2FA, { error: mutationError }] = useMutation(SETUP_2FA, {
onCompleted: ({ setup2FA: success }) => {
const options = {
context: {
headers: {
'Pazuz-Operator-Identifier': base64.encode(state.clientField)
}
}
}
success
? getUserData({
context: {
headers: {
pazuz_operatoridentifier: base64.encode(state.clientField)
}
}
})
? getUserData(
process.env.REACT_APP_BUILD_TARGET === 'LAMASSU'
? R.omit(['context'], options)
: options
)
: setInvalidToken(true)
}
})
@ -163,19 +190,11 @@ const Setup2FAState = ({ state, dispatch }) => {
setInvalidToken(true)
return
}
setup2FA({
variables: {
username: state.clientField,
password: state.passwordField,
rememberMe: state.rememberMeField,
codeConfirmation: twoFAConfirmation
},
context: {
headers: {
pazuz_operatoridentifier: base64.encode(state.clientField)
}
}
})
setup2FA(
process.env.REACT_APP_BUILD_TARGET === 'LAMASSU'
? R.omit(['context'], mutationOptions)
: mutationOptions
)
}}
buttonClassName={classes.loginButton}>
Done