1
resposta

Tentando acessar uma api com endereço restrito

A dúvida é o seguinte eu estou tentando acessar uma api restrita por token. Mas precisamente usando o Bearus pra tentar acessa-lá. Quando digito no meu navegador http://192.168.0.18:9999/api/default/dashboard, aparece :

{
name: "Unauthorized",
message: "Your request was made with invalid credentials.",
code: 0,
status: 401,
type: "yii\web\UnauthorizedHttpException"
}

Blz, até ae tudo bem é exatamente isso que eu quero. Então eu uso o postman (um fazedor de requisição ) e passo o token pelo header e funciona direitinho e ele retorna o esperado. Acontece que, quando tento fazer isso pela minha aplicação acontece o seguinte erro:

OPTIONS http://192.168.0.18:9999/api/default/dashboard 
(anonymous) @ ionic.bundle.js:25005
sendReq @ ionic.bundle.js:24798
serverRequest @ ionic.bundle.js:24508
processQueue @ ionic.bundle.js:29132
(anonymous) @ ionic.bundle.js:29148
$eval @ ionic.bundle.js:30400
$digest @ ionic.bundle.js:30216
$apply @ ionic.bundle.js:30508
(anonymous) @ ionic.bundle.js:65428
defaultHandlerWrapper @ ionic.bundle.js:16792
eventHandler @ ionic.bundle.js:16780
triggerMouseEvent @ ionic.bundle.js:2953
tapClick @ ionic.bundle.js:2942
tapMouseUp @ ionic.bundle.js:3018
?ionicplatform=android&http://localhost:8100/ionic-lab&http://localhost:8100/ionic-lab&http://localhost:8100/ionic-lab#/app/search:1 XMLHttpRequest cannot load http://192.168.0.18:9999/api/default/dashboard. Response for preflight has invalid HTTP status code 401

o Código do evento pra acessar essa api é esse :

teste: function () {
              return $http({
                method : 'get',
                url : 'http://192.168.0.18:9999/api/default/dashboard',
                headers : {
                  'Content-Type': 'application/x-www-form-urlencoded'
                  Authorization': 'Bearer  u4qnlunMrSWqcyitTV06gH5C8ZlAaWar'
                }
              }).then(function(event){
                return event;
              })
          }

Estar faltando eu fazer algum tipo de configuração no meu ionic? Eu mesmo fiz a api em php e estar funcionando normal já que pelo POSTMAN funciona direitinho.

1 resposta

Vc tem q liberar o CORS tanto na sua aplicação tanto no IONIC. Me parece que o Ionic tentou chegar lá na sua aplicação e não teve tal liberação