OAuth-Geheimnisse in mobilen Apps

Wenn Sie das OAuth-Protokoll verwenden, benötigen Sie eine geheime Zeichenfolge, die Sie von dem Dienst erhalten, an den Sie delegieren möchten. Wenn Sie dies in einer Web-App tun, können Sie das Geheimnis einfach in Ihrer Datenbank oder im Dateisystem speichern. Wie gehen Sie jedoch am besten mit einer mobilen App (oder einer Desktop-App) um?

Das Speichern der Zeichenfolge in der App ist offensichtlich nicht gut, da jemand sie leicht finden und missbrauchen könnte.

Ein anderer Ansatz wäre, es auf Ihrem Server zu speichern und es bei jedem Lauf von der App abrufen zu lassen, ohne es auf dem Telefon zu speichern. Dies ist fast genauso schlimm, da Sie die URL in die App aufnehmen müssen.

Die einzige praktikable Lösung, die ich finden kann, besteht darin, zuerst das Zugriffstoken wie gewohnt abzurufen (vorzugsweise über eine Webansicht in der App) und dann die gesamte weitere Kommunikation über unseren Server weiterzuleiten, wodurch das Geheimnis an die Anforderungsdaten angehängt und kommuniziert wird mit dem Anbieter. Andererseits bin ich ein Security-Noob, also würde ich gerne die Meinungen einiger sachkundiger Leute dazu hören. Es scheint mir nicht so, als würden die meisten Apps diese Sicherheitsstandards einhalten (Facebook Connect scheint beispielsweise davon auszugehen, dass Sie das Geheimnis direkt in Ihre App einfließen lassen).

Eine andere Sache: Ich glaube nicht, dass das Geheimnis darin besteht, zuerst den Zugriffstoken anzufordern, so dass dies ohne unseren eigenen Server geschehen könnte. Hab ich recht?

Antworten auf die Frage(13)

Ihre Antwort auf die Frage