Lorsque vous utilisez le protocole OAuth, vous avez besoin d'une chaîne secrète obtenue du service auquel vous souhaitez déléguer. Si vous faites cela dans une application Web, vous pouvez simplement stocker le secret dans votre base de données ou sur le système de fichiers, mais quelle est la meilleure façon de le gérer dans une application mobile (ou une application de bureau d'ailleurs)?
Le stockage de la chaîne dans l'application n'est évidemment pas bon, car quelqu'un pourrait facilement la trouver et en abuser.
Une autre approche consisterait à le stocker sur votre serveur et à demander à l'application de le récupérer à chaque exécution, sans jamais le stocker sur le téléphone. C'est presque aussi grave, car vous devez inclure l'URL dans l'application.
La seule solution viable que je peux trouver est d'abord d'obtenir le jeton d'accès comme d'habitude (de préférence en utilisant une vue Web à l'intérieur de l'application), puis d'acheminer toutes les autres communications via notre serveur, ce qui ajouterait le secret aux données de la demande et communiquerait. avec le fournisseur. Là encore, je suis un noob de la sécurité, donc j'aimerais vraiment entendre les opinions de personnes bien informées à ce sujet. Il ne me semble pas que la plupart des applications vont à ces longueurs pour garantir la sécurité (par exemple, Facebook Connect semble supposer que vous mettez le secret dans une chaîne directement dans votre application).
Autre chose: je ne pense pas que le secret soit impliqué dans la demande initiale du jeton d'accès, donc cela pourrait être fait sans impliquer notre propre serveur. Ai-je raison?