2015-10-21 2 views
0

J'ai travaillé avec torii add-on pour authentifier via linkedin.Ember linkedin api auth jeton problème

Je suis en mesure d'obtenir le code d'autorisation correctement, mais ayant du mal à obtenir l'accès suivant jeton ce tutoriel officiel:

Si je suis cette option, je reçois l'erreur suivante:

XMLHttpRequest ne peut pas load https://linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&c ... & redirect_uri = REDIRECT_URI & client_id = CLIENT_ID & client_secret = CLIENT_SECRET. L'en-tête 'Access-Control-Allow-Origin' est présent sur la ressource demandée. Origine 'my-host.com:4200' n'est donc pas autorisé à accéder.

linkedInAccessToken: function(authenticationCode){ 
return new Ember.RSVP.Promise(function (resolve, reject) { 
    Ember.$.ajax({ 
     type: "GET",    
     url: "https://linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code="+ authenticationCode +"&redirect_uri=REDIRECT_URI&client_id=CLIENT_ID&client_secret=CLIENT_SECRET",     
     success: function (response) { 
      console.log("ACCESS_TOKEN" + data.access_token); 
      resolve(data); 
     }, 
     error: function (request, textStatus, error) { 
      console.log(error); 
      reject(error); 
     } 
    }); 
}); 

},

Si je suis cette autre option, je reçois cette erreur:

refusé d'exécuter le script de 'https://linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&c ... llback & rappel = jQuery1113038602466485463083_1445461451847 & _ = 1445461451848' parce que son Le type MIME ('application/json') n'est pas exécutable et la vérification stricte du type MIME est activée.

linkedInAccessToken: function(authenticationCode){ 
    return new Ember.RSVP.Promise(function (resolve, reject) { 
     Ember.$.ajax({ 
      type: "GET",    
      url: "https://linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code="+ authenticationCode +"&redirect_uri=REDIRECT_URI&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&callback=jsonpcallback", 
      dataType: 'jsonp', 
      success: function (response) { 
       console.log("ACCESS_TOKEN" + data.access_token); 
       resolve(data); 
      }, 
      error: function (request, textStatus, error) { 
       console.log(error); 
       reject(error); 
      } 
     }); 
    }); 
    }, 
    jsonpcallback: function(data){ 

    }, 

Cette dernière option renvoie le JSON sur l'onglet réseau, mais à cause de ce problème, je ne suis pas en mesure de traiter.

LinkedIn OAuth2 ne renvoie que json, c'est pourquoi j'ai un problème avec 'jsonp'. D'autre part ce n'est pas cors non plus, c'est pourquoi j'ai le problème sur le premier exemple.

Avez-vous une idée pour aider à résoudre ce problème?

Merci :)

Répondre

1

J'ai eu ce problème l'autre jour. Si vous autorisez via torii et l'API oauth linkedin, vous devrez passer le code d'autorisation à votre back-end et le laisser gérer le swap.

À moins que vous n'utilisiez l'API JavascriptSDK avec linkedin, ils n'autorisent pas les demandes d'origine croisée.