Advertisement
WPDeveloper

Token-APi

Mar 17th, 2017
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .controller('loginCtrl',
  2. ['$scope', '$stateParams', '$urlDefault','$token',
  3. '$http', '$cookieStore','$client_secret','$client_id','$username','$password',
  4. function ($scope, $stateParams,$urlDefault, $token, $http, $cookieStore, $client_secret, $client_id, $username,$password) {
  5.  
  6.     username = $username; // Digamos que aqui seja o username de um usuário cadastrado no seu sistema
  7.     password = $password; // Aqui a senha desse usuário.
  8.     $urlApi = $urlDefault+"/oauth/token"; /* <--  Aqui seria a url pra conseguir o access_token (Isso varia de biblioteca pra biblioteca). Eu to usando a Passport do Laravel */
  9.     var dataPost = {grant_type: "password",
  10.                 'username': username,
  11.                 'password': password,
  12.                 'client_id': $client_id,
  13.                 'client_secret': $client_secret};
  14.                 /*  /\ No caso do Passport, esses aqui são os dados(dataPost) que você tem que
  15.                 enviar pra $urlApi, pra que ela retorne o seu access_token
  16.                  */
  17.            
  18.     $http.post($urlApi,dataPost).then(
  19.        function(response){
  20.            //console.log(response.data);
  21.            $cookieStore.put('access_token', response.data['access_token']);
  22.            $token = 'Bearer '+response.data['access_token'];
  23.      });
  24.     /*       /\
  25.     Essa aqui é a função que enviar a request POST com pra URL que vai retornar o token ($urlApi),
  26.     Se vc der um console.log(response.data) (<- console na resposta da requisição que vc enviou)
  27.     tu ja vai ver os dados de access_token, type (tipo de token, nesse caso é password).
  28.     Esse $cookieStore.put(..); significa que to guardando o o access_token num cookie. Pra posteriorment
  29.     estar enviando este dado, junto com as outras requisições.
  30.     */
  31.    
  32. }])
  33.  
  34. /* AGORA EM CADA REQUEST QUE EU FIZER, TENHO QUE ENVIAR NO HEADER DESTA, O PARAMETRO -> Authorization: 'Bearer (access_token) ' <-
  35. Vou dar um exemplo de como ficaria com uma request posterior
  36. */
  37.  
  38. .controller('servUnicoCtrl', ['$scope', '$stateParams','$http', '$token', '$urlDefault', '$cookieStore',
  39. function ($scope, $stateParams, $http, $token, $urlDefault, $cookieStore) {
  40.    
  41.     var urlApi1 = $urlDefault+'/api/client/servicos/; /*essa $urlDefault é uma constante que criei no código original
  42.                                                         pra eu nao ter que ficar digitando a url de onde ta a api o tempo inteiro.
  43.                                                         */
  44.    try{
  45.        if($scope.servicoId != undefined){
  46.            $http({method: 'GET', url: urlApi1, headers: {'Authorization': 'Bearer '+$cookieStore.get('access_token')}})
  47.                .then(function(response){
  48.                $scope.servico = response.data;
  49.            });
  50.             /*
  51.                 Aqui em cima acabo de fazer uma requisição GET pra uma url da minha api, e nos headers, coloquei
  52.                 o Authorization, pra API reconhecer que sou um usuário autenticado.
  53.                
  54.             */
  55.        }
  56.    }catch(e){
  57.        console.log("Erro: "+e.errors+" | "+e.message+" | "+e.line);
  58.    }
  59. }])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement