nodejs Jsonwebtoken express.js

Boa tarde pessoal, estou tentando realizar a autenticação de uma rota, porem nao esta dando certo,

1ª gero o token com um usuario mockado:

app.post(‘/api/login’, (req, res) => {

// Mock user const user = {   id: 1,    username: 'teste',   email: 'teste.mendes@gmail.com' }  jwt.sign({user}, 'secretkey', { expiresIn: '30s' }, (err, token) => {   res.json({     token   }); }); 

});

2º criei uma funcao verify

function verifyToken(req, res, next) {
const bearerHeader = req.headers[‘authorization’];
if(typeof bearerHeader !== ‘undefined’) { const bearer = bearerHeader.split(‘ ‘); const bearerToken = bearer[1]; req.token = bearerToken; next(); } else { // Forbidden res.sendStatus(403); } }

3ª criado a rota, app.get(‘/api/cidades’, verifyToken, (req, res) => {
jwt.verify(req.token, ‘secretkey’, (err,data) => { if(err) { res.sendStatus(403); } else { res.json({ message: ‘Post created…’, data

    });   } }); 

});

Gostaria que viesse os dados da cidade no banco de dados, e esta vindo os dados do usuario mockado:

{ “message”: “Post created…”, “req”: { “user”: { “id”: 1, “username”: “teste”, “email”: “teste.mendes@gmail.com” }, “iat”: 1561404207, “exp”: 1561404237 } }

Atualização em tempo real firebase

Tenho um método que quero que verifique a todo momento no banco de dados se um campo do nó filho é modificado(no caso, o campo “status”), quando ele é alterado, quero que o texto na tela do android seja modificado. Estou conseguindo fazer a alteração no texto, porém quando saio e entro na tela de novo a mensagem some (mesmo quando o status no banco de dados é alterado). Código:

@Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_principal);      circleImageViewUser = findViewById(R.id.circleImageViewUser);     txtOcorrencias = findViewById(R.id.txtOcorrencias);     txtStatus = findViewById(R.id.txtStatus);     txtPendencias = findViewById(R.id.txtPendencias);     txtSaudacao = findViewById(R.id.txtSaudacao);      Toolbar toolbar = findViewById(R.id.toolbarPrincipal);     setSupportActionBar(toolbar);       recuperarUsuario();     recuperarFotoUsuario();      verificaStatusOcorrencia();  }   public void verificaStatusOcorrencia() {     String idUsuario = UserFirebase.getDadosUsuarioLogado().getIdUsuario();     usuarioRef = firebaseRef.child("ocorrencias").child(idUsuario);      usuarioRef.addValueEventListener(new ValueEventListener() {         @Override         public void onDataChange(@NonNull DataSnapshot dataSnapshot) {             for (DataSnapshot snapshot : dataSnapshot.getChildren()) {                 Ocorrencia ocorrencia = snapshot.getValue(Ocorrencia.class);                  if (ocorrencia.getStatus() == "1") {                     txtStatus.setText(Ocorrencia.A_CAMINHO);                     txtStatus.setTextColor(Color.MAGENTA);                     txtStatus.setTextSize(16);                 } else if (ocorrencia.getStatus() == "0") {                     txtStatus.setText(Ocorrencia.AGUARDANDO);                     txtStatus.setTextColor(Color.RED);                     txtStatus.setTextSize(16);                 } else if (ocorrencia.getStatus() == "2"){                     txtStatus.setText(Ocorrencia.OK);                     txtStatus.setTextColor(Color.GREEN);                     txtStatus.setTextSize(17);                 }             }         }          @Override         public void onCancelled(@NonNull DatabaseError databaseError) {          }     }); } 

Banco de dados:

inserir a descrição da imagem aqui

Tratar Log de scritp Python no SQL SERVER 17

estou com uma dificuldade enorme aqui, é o seguinte…

Tenho o seguinte codigo:

try:      import sustentavel     params = urllib.parse.quote_plus("DRIVER={" + xml_bd[2][0].text + "};SERVER=" + xml_bd[2][1].text + ";DATABASE=" + xml_bd[2][2].text + ";UID=" + xml_bd[2][3].text + ";PWD=" + xml_bd[2][4].text[:-4] + "")     engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)     print('Conexão Realizada com Sucesso')      importlib.reload (sustentavel)      bd_rotinas= pd.read_sql("INSERT INTO [BD_ANALITICO].[dbo].[LOGS_PYTHON] VALUES ('SUSTENTAVEL','EXECUTOU COMPLETAMENTE',GetDate(),'CONCLUIDO')", con= engine)   except:     errou= pd.read_sql("INSERT INTO [BD_ANALITICO].[dbo].[LOGS_PYTHON] VALUES ('SUSTENTAVEL','ROTINA COM ERROS',GetDate(),'ERRO')", con= engine) 

Onde eu importo um outro script como biblioteca, até então tudo ótimo, se eu não usar o except para escrever no Banco de Dados, se eu deixo como:

except Exception as e:      print(e)  

o código roda como uma uva, mas é eu ativar para em caso de erro escrever na tabela ai trava, sempre que eu executo da como erro.

Informações com a execução escrevendo no BD em caso de erro:

Conexão Realizada com Sucesso This result object does not return rows. It has been closed automatically. --------------------------------------------------------------------------- AttributeError                            Traceback (most recent call last) C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\result.py in _fetchall_impl(self)    1080         try: -> 1081             return self.cursor.fetchall()    1082         except AttributeError:  AttributeError: 'NoneType' object has no attribute 'fetchall'  During handling of the above exception, another exception occurred:  ResourceClosedError                       Traceback (most recent call last) <ipython-input-42-d741fdb8f08f> in <module>     164  --> 165     bd_rotinas= pd.read_sql("INSERT INTO [BD_ANALITICO].[dbo].[LOGS_PYTHON] VALUES ('SUSTENTAVEL','EXECUTOU COMPLETAMENTE',GetDate(),'CONCLUIDO')", con= engine)     166   C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\sql.py in read_sql(sql, con, index_col, coerce_float, params, parse_dates, columns, chunksize)     396             coerce_float=coerce_float, parse_dates=parse_dates, --> 397             chunksize=chunksize)     398   C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\sql.py in read_query(self, sql, index_col, coerce_float, parse_dates, params, chunksize)    1071         else: -> 1072             data = result.fetchall()    1073             frame = _wrap_result(data, columns, index_col=index_col,  C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\result.py in fetchall(self)    1135                 e, None, None, -> 1136                 self.cursor, self.context)    1137   C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py in _handle_dbapi_exception(self, e, statement, parameters, cursor, context)    1415             else: -> 1416                 util.reraise(*exc_info)    1417   C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\util\compat.py in reraise(tp, value, tb, cause)     248             raise value.with_traceback(tb) --> 249         raise value     250   C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\result.py in fetchall(self)    1129         try: -> 1130             l = self.process_rows(self._fetchall_impl())    1131             self._soft_close()  C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\result.py in _fetchall_impl(self)    1082         except AttributeError: -> 1083             return self._non_result([])    1084   C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\result.py in _non_result(self, default)    1087             raise exc.ResourceClosedError( -> 1088                 "This result object does not return rows. "    1089                 "It has been closed automatically.",  ResourceClosedError: This result object does not return rows. It has been closed automatically.  During handling of the above exception, another exception occurred:  AttributeError                            Traceback (most recent call last) C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\result.py in _fetchall_impl(self)    1080         try: -> 1081             return self.cursor.fetchall()    1082         except AttributeError:  AttributeError: 'NoneType' object has no attribute 'fetchall'  During handling of the above exception, another exception occurred:  ResourceClosedError                       Traceback (most recent call last) <ipython-input-42-d741fdb8f08f> in <module>     168 except Exception as e:     169     print(e) --> 170     errou= pd.read_sql("INSERT INTO [BD_ANALITICO].[dbo].[LOGS_PYTHON] VALUES ('SUSTENTAVEL','ROTINA COM ERROS',GetDate(),'ERRO')", con= engine)  C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\sql.py in read_sql(sql, con, index_col, coerce_float, params, parse_dates, columns, chunksize)     395             sql, index_col=index_col, params=params,     396             coerce_float=coerce_float, parse_dates=parse_dates, --> 397             chunksize=chunksize)     398      399   C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\sql.py in read_query(self, sql, index_col, coerce_float, parse_dates, params, chunksize)    1070                                         parse_dates=parse_dates)    1071         else: -> 1072             data = result.fetchall()    1073             frame = _wrap_result(data, columns, index_col=index_col,    1074                                  coerce_float=coerce_float,  C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\result.py in fetchall(self)    1134             self.connection._handle_dbapi_exception(    1135                 e, None, None, -> 1136                 self.cursor, self.context)    1137     1138     def fetchmany(self, size=None):  C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\base.py in _handle_dbapi_exception(self, e, statement, parameters, cursor, context)    1414                 )    1415             else: -> 1416                 util.reraise(*exc_info)    1417     1418         finally:  C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\util\compat.py in reraise(tp, value, tb, cause)     247         if value.__traceback__ is not tb:     248             raise value.with_traceback(tb) --> 249         raise value     250      251 else:  C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\result.py in fetchall(self)    1128     1129         try: -> 1130             l = self.process_rows(self._fetchall_impl())    1131             self._soft_close()    1132             return l  C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\result.py in _fetchall_impl(self)    1081             return self.cursor.fetchall()    1082         except AttributeError: -> 1083             return self._non_result([])    1084     1085     def _non_result(self, default):  C:\ProgramData\Anaconda3\lib\site-packages\sqlalchemy\engine\result.py in _non_result(self, default)    1086         if self._metadata is None:    1087             raise exc.ResourceClosedError( -> 1088                 "This result object does not return rows. "    1089                 "It has been closed automatically.",    1090             )  ResourceClosedError: This result object does not return rows. It has been closed automatically. 

.antMatchers().permitAll() parece não funcionar

Habilitei spring-security em meu projeto, e agora todas as API precisa de autenticação, perfeito era isso que eu precisava.

Porem quero que apenas uma API não precise de autenticação. Tentei utilizar .authorizeRequests() .antMatchers(HttpMethod.GET, "/usuario/informacoes/**") .permitAll()

mas isso não funciona e continuo recebendo:

This XML file does not appear to have any style information associated with it. The document tree is shown below. <oauth> <error_description> Full authentication is required to access this resource </error_description> <error>unauthorized</error> </oauth> 

Estou com o seguinte codigo:

WebSecurityConfigurerAdapter

 import org.springframework.context.annotation.Bean; import org.springframework.http.HttpMethod; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer; import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;    @EnableWebSecurity @EnableAuthorizationServer @EnableResourceServer @EnableGlobalMethodSecurity(prePostEnabled = true) public class SecurityConfig extends WebSecurityConfigurerAdapter {      @Bean     @Override     protected AuthenticationManager authenticationManager() throws Exception {         return super.authenticationManager();     }      protected void configure(HttpSecurity http, WebSecurity web) throws Exception {         http             .authorizeRequests()             .antMatchers(HttpMethod.GET, "/usuario/informacoes/**")             .permitAll()             .anyRequest().authenticated()             .and().csrf().disable();     }      @Override     public void configure(WebSecurity web) throws Exception {         web             .ignoring().antMatchers("/favicon.ico");     }      @Bean     public PasswordEncoder passwordEncoder() {         return new BCryptPasswordEncoder();     }  } 

API

@RestController @RequestMapping("/usuario")  @RequestMapping(value = "/informacoes/{id}", method = RequestMethod.GET)     public ResponseEntity<Object[]> informacoesUsuario(@Valid @PathVariable("id") Long id) throws Exception {          Object[] response = usuarioServices.informacoesUsuario(id);          return ResponseEntity.status(HttpStatus.OK).body(response);     } 

pom.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">     <modelVersion>4.0.0</modelVersion>     <parent>         <groupId>org.springframework.boot</groupId>         <artifactId>spring-boot-starter-parent</artifactId>         <version>2.1.5.RELEASE</version>         <relativePath/> <!-- lookup parent from repository -->     </parent>     <groupId>com.mfac</groupId>     <artifactId>mfac</artifactId>     <version>0.0.1-SNAPSHOT</version>     <name>mfac</name>     <description>mfac - rest</description>      <properties>         <java.version>12</java.version>     </properties>      <dependencies>          <!-- Segurança | Início -->         <dependency>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-starter-oauth2-client</artifactId>         </dependency>         <dependency>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>         </dependency>         <dependency>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-starter-security</artifactId>         </dependency>          <dependency>             <groupId>org.springframework.security.oauth.boot</groupId>             <artifactId>spring-security-oauth2-autoconfigure</artifactId>             <version>2.1.4.RELEASE</version>         </dependency>                 <!-- Segurança | Fim -->             <dependency>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-starter-data-jpa</artifactId>         </dependency>           <dependency>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-starter-web</artifactId>         </dependency>          <dependency>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-devtools</artifactId>             <scope>runtime</scope>         </dependency>         <dependency>             <groupId>mysql</groupId>             <artifactId>mysql-connector-java</artifactId>             <scope>runtime</scope>         </dependency>         <dependency>             <groupId>org.springframework.boot</groupId>             <artifactId>spring-boot-starter-test</artifactId>             <scope>test</scope>         </dependency>         <dependency>             <groupId>org.springframework.security</groupId>             <artifactId>spring-security-test</artifactId>             <scope>test</scope>         </dependency>     </dependencies>      <build>         <plugins>             <plugin>                 <groupId>org.springframework.boot</groupId>                 <artifactId>spring-boot-maven-plugin</artifactId>             </plugin>         </plugins>     </build>  </project> 

guardar retorno de uma requisição em uma variavel

Tenho uma requisição feita com fetch que me retorna um objeto. Queria somente pegar o valor da chave size, para por exemplo, fazer uma soma. porem não sei como faze-lo.

aqui está o código:

async function getURL() {     try {         const res = await fetch('http://validate.jsontest.com/?json=%5BJSON-code-to-validate%5D');          const user = await res.json();          console.log(user.size)      } catch (err) {         console.error(err);     } } getURL() 

too many values to unpack (expected 2) no Django

Estou com este trecho de código no Django, a intenção é inserir, se já existir o ds_user_id então ele atualiza o usuário com esse ds_user_id ao invés de criar um novo

ds_user_id = int(post_login['ds_user_id']) csrftoken = post_login['csrftoken'] cookies = json.dumps(str(post_login['cookies']))  defaults = {   'username': username,   'password': password,   'ds_user_id': ds_user_id,   'csrftoken': csrftoken,   'cookies': cookies,   'status': 0 }  try:   obj = User.objects.get(ds_user_id=ds_user_id)    for key, value in defaults.keys():     setattr(obj, key, value)   obj.save() except User.DoesNotExist:   new_values = {     'username': username,     'password': password,     'ds_user_id': ds_user_id,     'csrftoken': csrftoken,     'cookies': cookies,     'status': 0   }    new_values.update(defaults)    obj = User(**new_values)   obj.save() 

O insert funcionou porém, ao tentar logar novamente, recebo:

too many values to unpack (expected 2)

Eu não estou entendendo muito bem, mas eu acho que é esta linha que está buguizando meu código:

for key, value in defaults.keys(): 

Consulta SQL retornar valor zerado onde o COUNT encontrar nulo

Olá, Tenho uma tabela de projetos que nela contém status, responsável e outras colunas. Estou fazendo a seguinte consulta, SELECT status,COUNT(status) AS Total FROM projetos WHERE responsavel=’$ Nome_de_Algum_responsavel’ GROUP BY status ORDER BY status;

Então retorna apenas os status que aquele responsavel tem e eu precisaria que retornasse todos os status porém com o COUNT(status) com o valor zerado.

Alguém da um HELP ?

Desenvolvimento Android Câmera – Vídeo [pendente]

Preciso usar a câmera no Android para realizar gravação de vídeos, porém a câmera deve ser a pagina inicial do aplicativo, como no Snapchat, eu criei um protótipo como mostrado abaixo: Protótipo Tela Inicial

Estou começando no desenvolvimento Android e queria ajuda para saber se posso fazer isso via Java no Android Studio ou tem alguma maneira mais rápida e fácil, pois preciso para um projeto de TCC e meu tempo está curto.

Fazer o select identificar a option selecionada

Eu preciso de ajuda, já procurei em diversos foruns e não conseguir achar um código para a minha necessidade.

Toda vez que eu selecionasse uma unidade e fizesse a busca, eu gostaria que o valor selecionado fosse mantido, exemplo:

Selecionei a unidade: “IMIRIM” e fiz a busca, gostaria que o valor “IMIRIM” ficasse selecionado.

<form method="post" action="<?php echo $  _SERVER['PHP_SELF'] ?>?a=buscar">   <select name="palavra">     <option value="">Selecione a unidade...</option>    <option value="IMIRIM">IMIRIM</option>    <option value="SERRA">SERRA</option>   <option value="TREMEMBE">TREMEMBE</option>   </select>    <input type="submit" value="Buscar">

Alguém tem alguma ideia de como fazer isso?

Gráfico de informação relacionada não mostra dados ordendados de acordo com query mas tabela mostra

Olá!

Tenho um painél de informação relacionada onde quero mostrar uma tabela ou gráfico de um certo tipo de dados. Abaixo tenho um exemplo da tabela:

Lista

A configuração está feita para ordenar os resultados por data. O que ocorre com sucesso na tabela.

No entanto, no gráfico essa ordenação não acontece e os dados aparecem sem a ordenação

Gráfico

A configuração que tenho é semelhante a isto:

INSERT INTO InformacaoRelacionada ([Id],[Categoria],[Config])  Values(     @myid, 'Armazens',     '<Config>     <General>         <TypeClassName>PriCloudLibrary100.CI_Lista</TypeClassName>         <Name>Values</Name>         <Title>Values</Title>         <Description>Values</Description>         <ShowDescription>0</ShowDescription>         <Height>500</Height>     </General>     <List>         <SqlQuery>               SELECT itv.CDU_Timestamp, itv.CDU_Value               FROM dbo.TDU_Values itv               WHERE itv.CDU_Timestamp between DateAdd(DD,-7,GETDATE()) and GETDATE()               ORDER BY itv.CDU_Timestamp ASC         </SqlQuery>       </List>       <Grid>         <ShowGroupBox>1</ShowGroupBox>         <ShowFooterRows>1</ShowFooterRows>         <Visible>1</Visible>         <Columns>           <Column1>             <Name>CDU_Timestamp</Name>             <Title>Date</Title>           </Column1>           <Column2>             <Name>CDU_Value</Name>             <Title>Value (%)</Title>             <DecimalPlaces>2</DecimalPlaces>           </Column2>         </Columns>       </Grid>       <Graph>         <Visible>0</Visible>         <Legend>           <Visible>1</Visible>         </Legend>         <Series>           <Serie1>             <Name>CDU_Value</Name>             <Legend>Value (%)</Legend>             <PointName>CDU_Value</PointName>             <SerieStyle>0</SerieStyle>             <LegendVisible>0</LegendVisible>             <LabelVisible>0</LabelVisible>             <ColorEach>1</ColorEach>             <DecimalPlaces>2</DecimalPlaces>             <Visible>1</Visible>           </Serie1>         </Series>       </Graph>     </Config>' ) 

Falta me alguma configuração no gráfico?

Muito Obrigado.