diff --git a/src/Components/FormInput.js b/src/Components/FormInput.js
index f90750684c7ff2f80bdab817e881ae9dd80d4d7f..47aeb1faf8c7301718cdc94270dbf01df67a3853 100644
--- a/src/Components/FormInput.js
+++ b/src/Components/FormInput.js
@@ -66,7 +66,7 @@ export default function FormInput(props) {
           style={{width:"100%"}}
           mask={props.mask}
           multiline={props.multi}
-          rows={props.row}
+          rows={props.rows}
           rowsMax={props.rowMax}
         />
   );
diff --git a/src/Components/LoginModal.js b/src/Components/LoginModal.js
index 9c41e3e1c9cefbeb938fd47850449804e1041458..df1be6a4871c4de3a0042884f643567171f34294 100644
--- a/src/Components/LoginModal.js
+++ b/src/Components/LoginModal.js
@@ -80,8 +80,8 @@ export default function LoginModal (props){
             )
             props.handleClose();
             props.openSnackbar();
-            localStorage.setItem('@portalmec/accessToken', response.headers['access-token'])
-            localStorage.setItem('@portalmec/clientToken', response.headers.client,)
+            sessionStorage.setItem('@portalmec/accessToken', response.headers['access-token'])
+            sessionStorage.setItem('@portalmec/clientToken', response.headers.client,)
             sessionStorage.setItem('@portalmec/id', response.data.data.id)
             sessionStorage.setItem('@portalmec/username', response.data.data.name)
             sessionStorage.setItem('@portalmec/uid', response.data.data.uid)
diff --git a/src/Components/PageProfessorComponents/PartOne.js b/src/Components/PageProfessorComponents/PartOne.js
index a82555a5197dea42c2f666d45ec5f12de3e9385f..5c4b92f659174274c6a55eb3d8432722d2464c28 100644
--- a/src/Components/PageProfessorComponents/PartOne.js
+++ b/src/Components/PageProfessorComponents/PartOne.js
@@ -1,4 +1,4 @@
-import React, {useState} from 'react'
+import React, {useState, useEffect} from 'react'
 import styled from 'styled-components'
 import Stepper from '../Stepper.js'
 import FormControl from '@material-ui/core/FormControl';
@@ -9,32 +9,128 @@ import {Button} from '@material-ui/core'
 import {RightSideStrikedH3, LeftSideStrikedH3} from '../LoginContainerFunction.js'
 import Divider from '@material-ui/core/Divider';
 import {ButtonCancelar} from './PartTwo.js'
+import axios from 'axios'
+import FormInput from '../FormInput.js'
+
+function sortDict (dict) {
+    const newDict = dict.sort((a, b) => (a.name) > (b.name) ? 1 : -1)
+    return newDict
+
+}
 
 export default function PartOne (props) {
-    const [uf, setUF] = useState('')
-    const handleChangeUF = (event) => {setUF(event.target.value)}
+    //stores initial get response (list of states, sorted alphabetically)
+    const [ufList, setStates] = useState([])
+    const handleSetStates = (states) => {setStates(states)}
+
+    //stores list of cities sorted alphabetically
+    const [municipioList, setMunicipioList] = useState([])
+    const handleSetMunicipioList = (municipios) => setMunicipioList(municipios)
+
+    //stores a single user selected state
+    const [uf, setUF] = useState(
+        {
+            algumFoiEscolhido : false,
+            value : ''
+        }
+    )
 
-    const [municipio, setMunicipio] = useState('')
-    const handleChangeMunicipio = (event) => {setMunicipio(event.target.value)}
+    //stores a single user selected city
+    const [municipio, setMunicipio] = useState(
+        {
+            algumFoiEscolhido : false,
+            value : ''
+        }
+    )
+
+    const [codigoINEP, setCodigoINEP] = useState(
+        {
+            codigoInvalido : false,
+            value : ''
+        }
+    )
+    const handleCodigoINEP = (event) => {
+        const code = event.target.value
+        
+        setCodigoINEP({...codigoINEP,
+            codigoInvalido : false,
+            value : code
+        })
+    }
+
+    const validateINEP = () => {
+        const code = codigoINEP.value
+
+        axios.get(('https://www.simcaq.c3sl.ufpr.br/api/v1/portal_mec_inep?filter=school_cod:' + code)
+        ).then( (response) => {
+            handleSubmit()
+        }, (error) => {
+            setCodigoINEP({...codigoINEP,
+                codigoInvalido : true,
+                value : ''
+            })
+        }
+        )
+    }
+
+    const handleSubmit = () => {
+        props.handleBuscar(uf.value, municipio.value, codigoINEP.value)
+    }
+
+    //on render component, call simcaq api and update ufList
+    useEffect ( () => {
+        axios.get(('https://simcaq.c3sl.ufpr.br/api/v1/state')
+        ).then( (response) => {
+            handleSetStates(sortDict(response.data.result))
+        },
+        (error) => console.log('erro acessando api do simcaq (estados)'))
+    }, [])
+
+    const handleChooseUF = (event) => {
+        const ufID = event.target.value
+        setUF({...uf,
+                algumFoiEscolhido : true,
+                value : ufID
+            }
+        )
+
+        axios.get(('https://simcaq.c3sl.ufpr.br/api/v1/city?filter=state:' + ufID)
+        ).then( (response) => {
+            handleSetMunicipioList(sortDict(response.data.result))
+            }, (error) => console.log('erro acessando api do simcaq (cidades)')
+        )
+    }
+
+    const handleChooseCity = (event) => {
+        const cityID = event.target.value
+        setMunicipio({...municipio,
+                 algumFoiEscolhido : true,
+                 value : cityID
+             }
+        )
+    }
 
     return (
         <>
+        {/*/////////////////////////////PRIMEIRA PARTE/////////////////////////////*/}
         <Content>
             <h4>Vamos localizar o seu cadastro:</h4>
             <Stepper items={props.stepper}/>
             <form style={{textAlign:"start"}}>
-                <p>Localize pelo menos uma escola que você tenha atuado até maio de 2017:</p>
+                <p>Localize pelo menos uma escola em que você tenha atuado até maio de 2017:</p>
                 <FormControl required style={{width:"100%"}}>
                      <InputLabel>Procure sua UF</InputLabel>
                      <Select
                        labelId="demo-simple-select-label"
                        id="demo-simple-select"
-                       value={uf}
-                       onChange={handleChangeUF}
+                       value={uf.value}
+                       onChange={handleChooseUF}
                      >
-                       <MenuItem value={10}>Ten</MenuItem>
-                       <MenuItem value={20}>Twenty</MenuItem>
-                       <MenuItem value={30}>Thirty</MenuItem>
+                     {
+                        ufList.map( (ufs)=>
+                            <MenuItem value={ufs.id}>{ufs.name}</MenuItem>
+                        )
+                     }
                      </Select>
                 </FormControl>
                 <FormControl required style={{width:"100%"}}>
@@ -42,40 +138,51 @@ export default function PartOne (props) {
                      <Select
                        labelId="demo-simple-select-label"
                        id="demo-simple-select"
-                       value={municipio}
-                       onChange={handleChangeMunicipio}
+                       value={municipio.value}
+                       onChange={handleChooseCity}
                      >
-                       <MenuItem value={10}>Ten</MenuItem>
-                       <MenuItem value={20}>Twenty</MenuItem>
-                       <MenuItem value={30}>Thirty</MenuItem>
+                     {
+                        municipioList.map( (cidades)=>
+                            <MenuItem value={cidades.id}>{cidades.name}</MenuItem>
+                        )
+                     }
                      </Select>
                 </FormControl>
                 <div style={{display:"flex", justifyContent:"center",paddingTop:"10px", paddingBottom:"10px"}}>
-                    <ButtonConfirmar onClick={props.handleBuscar}>BUSCAR</ButtonConfirmar>
+                    <ButtonConfirmar
+                    onClick={ ( (uf.algumFoiEscolhido && municipio.algumFoiEscolhido) ? handleSubmit : '')}
+                    >
+                    BUSCAR</ButtonConfirmar>
                 </div>
             </form>
             </Content>
+
             <div style={{display:"flex", justifyContent:"center", alignItems:"center"}}>
                 <LeftSideStrikedH3/><StrikeSpan>ou</StrikeSpan><RightSideStrikedH3/>
             </div>
+
+            {/*/////////////////////////////SEGUNDA PARTE/////////////////////////////*/}
             <Content>
                 <form>
                     <p>Localize pelo código INEP da escola:</p>
                     <FormControl required style={{width:"100%"}}>
-                         <InputLabel>Código INEP</InputLabel>
-                         <Select
-                           labelId="demo-simple-select-label"
-                           id="demo-simple-select"
-                           value={municipio}
-                           onChange={handleChangeMunicipio}
+                         <FormInput
+                           inputType={'text'}
+                           name={'Código INEP'}
+                           value={codigoINEP.value}
+                           handleChange = {handleCodigoINEP}
+                           placeholder={'Código INEP'}
+                           required={true}
+                           error={codigoINEP.codigoInvalido}
+                           help={codigoINEP.codigoInvalido ? <span style={{color:'red'}}>código INEP inválido</span> : ''}
                          >
-                           <MenuItem value={10}>Ten</MenuItem>
-                           <MenuItem value={20}>Twenty</MenuItem>
-                           <MenuItem value={30}>Thirty</MenuItem>
-                         </Select>
+                         </FormInput>
                     </FormControl>
                     <div style={{display:"flex", justifyContent:"center",paddingTop:"10px", paddingBottom:"10px"}}>
-                        <ButtonConfirmar onClick={props.handleBuscar}>BUSCAR</ButtonConfirmar>
+                        <ButtonConfirmar
+                        onClick={validateINEP}
+                        >
+                        BUSCAR</ButtonConfirmar>
                     </div>
                 </form>
             </Content>
diff --git a/src/Components/PageProfessorComponents/PartTwo.js b/src/Components/PageProfessorComponents/PartTwo.js
index d4af14b2b8c94e3404df89457da079ea2713264c..e8bce948b1d8e29e24c6f2129856bb6cb4443137 100644
--- a/src/Components/PageProfessorComponents/PartTwo.js
+++ b/src/Components/PageProfessorComponents/PartTwo.js
@@ -9,6 +9,7 @@ import {Button} from '@material-ui/core'
 export default function PartTwo (props) {
     return (
         <>
+            {console.log(props.info)}
             <Content>
                 <h4>Vamos localizar o seu cadastro:</h4>
                 <Stepper items={props.stepper}/>
diff --git a/src/Components/TabPanels/TabPanelEditarPerfil.js b/src/Components/TabPanels/TabPanelEditarPerfil.js
index 6274fcbae47808001e086bbf290d126fc49188d0..fc445817f6332fd65826adb6de0ec75f08688ec8 100644
--- a/src/Components/TabPanels/TabPanelEditarPerfil.js
+++ b/src/Components/TabPanels/TabPanelEditarPerfil.js
@@ -16,17 +16,13 @@ export default function TabPanelEditarPerfil (props) {
     const [hoverAlterarFoto, handleAlterarFoto] = React.useState(false)
 
     const [formNome, setNome] = useState({
-        dict : {
-            key : false,
-            value : ""
-        }
+        key : false,
+        value : ""
     })
 
     const [formAboutMe, setAboutMe] = useState({
-        dict : {
-            key : false,
-            value : "",
-        }
+        key : false,
+        value : "",
     })
 
     const handleHoverAlterarFoto = () => {
@@ -43,38 +39,38 @@ export default function TabPanelEditarPerfil (props) {
         const flag = ValidateUserInput(type, userInput)
 
         if(type === 'username') {
-            setNome({...formNome, dict : {
+            setNome({...formNome,
                 key : flag,
                 value : userInput
-            }})
+            })
             console.log(formNome)
         }
         else if (type === 'aboutMe') {
-            setAboutMe({...formAboutMe, dict : {
+            setAboutMe({...formAboutMe,
                 key : flag,
                 value : userInput,
-            }})
+            })
             console.log(formAboutMe)
         }
     }
 
     const limpaCamposForm = () => {
-        setNome({...formNome, dict: {
+        setNome({...formNome,
             key : false,
             value : ''
-        }})
+        })
 
-        setAboutMe({...formAboutMe, dict: {
+        setAboutMe({...formAboutMe,
             key : false,
             value : ''
-        }})
+        })
     }
 
     const handleSubmit = (e) => {
         e.preventDefault()
-        const info = {nome : formNome.dict.value, aboutMe : formAboutMe.dict.value}
-        const flagNome = formNome.dict.key
-        const flagAboutMe = formAboutMe.dict.key
+        const info = {nome : formNome.value, aboutMe : formAboutMe.value}
+        const flagNome = formNome.key
+        const flagAboutMe = formAboutMe.key
 
         if (!(flagNome || flagAboutMe)) {
             console.log(info)
@@ -118,24 +114,24 @@ export default function TabPanelEditarPerfil (props) {
                                 <FormInput
                                     inputType={"text"}
                                     name={"Nome Completo"}
-                                    value={formNome.dict.value}
+                                    value={formNome.value}
                                     placeholder={"Nome Completo"}
                                     handleChange={e => handleChange(e, 'username')}
                                     required={true}
-                                    error={formNome.dict.key}
+                                    error={formNome.key}
                                 />
                                 <FormInput
                                     inputType={"text"}
                                     name={"Sobre Mim"}
-                                    value={formAboutMe.dict.value}
+                                    value={formAboutMe.value}
                                     multi = {true}
                                     rows="3"
                                     rowsMax = "3"
-                                    error={formAboutMe.dict.key}
+                                    error={formAboutMe.key}
                                     placeholder={"Sobre Mim"}
                                     handleChange={e => handleChange(e, 'aboutMe')}
                                     required={false}
-                                    help = {formAboutMe.dict.value.length + '/160'}
+                                    help = {formAboutMe.value.length + '/160'}
                                 />
                             </form>
                         </div>
diff --git a/src/Pages/PageProfessor.js b/src/Pages/PageProfessor.js
index 1f0eb796b318af4d8710130acc21b04f352ff887..b89eacc84d2ede168e41e70c279e820425bc37db 100644
--- a/src/Pages/PageProfessor.js
+++ b/src/Pages/PageProfessor.js
@@ -13,24 +13,45 @@ export default function PageProfessor (props) {
         props.history.push('/termos-publicar-recurso')
     }
 
+    const [registerInformation, setRegisterInformation] = useState(
+        {
+            teacher_cpf: '',
+            school_phone: '',
+            school_name: '',
+            school_City: '', // perguntar se aqui é o id ou o nome
+            school_uf : '', //perguntar se aqui é o id ou o nome
+            inep_code: ''
+        }
+    )
+
     const [stepper, handleStepper] = useState(
         [ {value : '1', selected : true}, {value : '2', selected : false}, {value : '3', selected : false} ]
     )
-
-    const handleBuscar = () => {
+    const toggleStepper = (selected1, selected2, selected3) => {
         handleStepper(
-            [ {value : '1', selected : false}, {value : '2', selected : true}, {value : '3', selected : false} ]
+            [
+                {value : '1', selected : selected1},
+                {value : '2', selected : selected2},
+                {value : '3', selected : selected3}
+            ]
         )
     }
 
+    const handleBuscar = (uf, municipio, inep) => {
+        setRegisterInformation({...registerInformation,
+            school_uf : uf,
+            school_City : municipio,
+            inep_code : inep
+        })
+        toggleStepper(false, true, false)
+    }
+
     const handleCancelar = () => {
         props.history.push('/perfil/atualizacoes')
     }
 
     const onClickTable = () => {
-        handleStepper(
-            [ {value : '1', selected : false}, {value : '2', selected : false}, {value : '3', selected : true} ]
-        )
+        toggleStepper(false, false, true)
     }
 
     return (
@@ -43,8 +64,12 @@ export default function PageProfessor (props) {
                         <div style={{display: "flex", justifyContent:"center", paddingTop:"5vh", paddingBottom:"5vh"}}>
                             <Paper elevation={3} style= {{width:"max-content"}}>
                                 <div style={{paddingRight:"15px", paddingLeft:"15px"}}>
-                                    {stepper[0].selected && <PartOne stepper={stepper} handleBuscar={handleBuscar} handleCancelar={handleCancelar}/>}
-                                    {stepper[1].selected && <PartTwo stepper={stepper} onClickTable={onClickTable}/>}
+                                    {stepper[0].selected &&
+                                        <PartOne stepper={stepper} handleBuscar={handleBuscar}
+                                            handleCancelar={handleCancelar}
+                                        />
+                                    }
+                                    {stepper[1].selected && <PartTwo stepper={stepper} onClickTable={onClickTable} info={registerInformation}/>}
                                     {stepper[2].selected && <PartThree stepper={stepper}/>}
                                 </div>
                             </Paper>
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index 76b15fe3d443590f4e7ea2afd269c9f6fb40d1bb..f6650c98056333c453a00309353a9c0746bedb43 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -58,8 +58,8 @@ export default function UserPage (props){
         headers : {
             'Accept': 'application/json',
             'Content-Type': 'application/json',
-            'Access-Token': localStorage.getItem('@portalmec/accessToken'),
-            'Client': localStorage.getItem('@portalmec/clientToken'),
+            'Access-Token': sessionStorage.getItem('@portalmec/accessToken'),
+            'Client': sessionStorage.getItem('@portalmec/clientToken'),
             'Uid': sessionStorage.getItem('@portalmec/uid'),
             'Host': 'api.portalmec.c3sl.ufpr.br',
             'Cookie': ''
diff --git a/src/env.js b/src/env.js
index f3072030af819b06ffeee3edf0daa783c35c524e..3ba1693d8fd16ad4105d2f3fa6f3b449a4beacbe 100644
--- a/src/env.js
+++ b/src/env.js
@@ -17,7 +17,7 @@ You should have received a copy of the GNU Affero General Public License
 along with Plataforma Integrada MEC.  If not, see <http://www.gnu.org/licenses/>.*/
 
 
-var apiDomain = 'https://api.portalmec.c3sl.ufpr.br',
+var apiDomain = 'https://api.portalmec.c3sl.ufpr.br/',
     apiVersion = 'v1',
     apiUrl = apiDomain + '/' + apiVersion;