46 votes

Application qui utilise OAuth et javascript

Je prévois de créer une application qui utilise JavaScript et doit utiliser OAuth pour authentifier l'utilisateur sur un site web. Est-ce que quelqu'un peut m'aider s'il vous plaît? Des exemples de code ? Je connais la bibliothèque JavaScript OAuth de Google Code mais je ne sais pas comment l'implémenter..

50voto

Matthias Points 17181

Il existe une implémentation client JS pour OAuth ici: https://developers.google.com/identity/protocols/OAuth2UserAgent

Il contient du code exemple pour vous permettre de démarrer. Fondamentalement, voici ce que vous devez faire:

var url = "...";
var accessor = {
  token: "...",
  tokenSecret: "...",
  consumerKey : "...",
  consumerSecret: "..."
};

var message = {
  action: url,
  method: "GET",
  parameters: {...}
};

OAuth.completeRequest(message, accessor);        
OAuth.SignatureMethod.sign(message, accessor);
url = url + '?' + OAuth.formEncode(message.parameters);

// envoyer la requête à 'url'
...

Amicalement, Matthias

41 votes

Je pense que les paramètres tokenSecret et consumerSekret sont censés rester secrets! Comment pourraient-ils rester secrets une fois téléchargés sur le navigateur?!!!

1 votes

En utilisant SSL, par exemple. Mais oui, OAuth dans un environnement de navigateur est certainement sujet à des problèmes de sécurité.

0 votes

Est-ce pour oAuth 1.0a ou 2.0?

11voto

thSoft Points 5513

Les problèmes de sécurité mentionnés peuvent être résolus via YQL: http://derek.io/blog/2010/how-to-secure-oauth-in-javascript/

1 votes

Au moins dans une certaine mesure. Mais alors vous comptez sur la technologie backend de quelqu'un d'autre au lieu de la vôtre ou de n'en avoir aucune - ce qui était l'objectif initial.

3voto

J'ai écrit une bibliothèque javascript générique OAuth 2.0.

0 votes

Pouvez-vous poster un exemple de comment s'authentifier à une application personnalisée Google App Engine ? Je lutte avec cela depuis 2 jours maintenant. Votre bibliothèque ne semble pas prendre en charge les 3 URL de retour, OAuthGetRequestToken, OAuthAuthorizeToken et 'OAuthGetAccessToken` ?

0voto

Matthew Flaschen Points 131723

Si vous écrivez une extension Firefox (ou autre extension Mozilla), envisagez d'utiliser oauthorizer. J'utilise cela pour la dernière version de goo.gl lite. Cependant, j'ai rencontré quelques problèmes pour obtenir l'approbation de ce site pour les modules complémentaires Mozilla, sur lesquels je travaille actuellement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X