私は現在、マイクロフレームワーク Flask を使用して Python で REST API を作成しています。これはプライベート API であり、ユーザー データを扱います。この API を使用して、Web と Android アプリを構築する予定です。
今のところ、ダイジェスト認証を使用してプライベート ユーザー データを保護しています。たとえば、ユーザー bob を使用して私のサービスにデータを投稿する場合は、myapi/story/create で投稿リクエストを作成し、bob の資格情報にダイジェスト パターンを指定します。
私はこれが良い解決策ではないことを認識しています: -
ダイジェスト認証は安全ではありません
-クライアントは認証されていません (新しいユーザーを作成するなど、現在のユーザーに関連しない要求を保護する方法は?)
oAuth について多くのことを読みましたが、API をサードパーティに公開する予定がないため、3-legged 認証はやり過ぎのようです。
2-legged oAuth は、ユーザーではなくクライアントの認証のみを提供するため、適合しません。
oAuth のもう 1 つの問題は、Python で oAuth を実装するための包括的なガイドが見つからないことです。python-oauth2ライブラリは見つかりましたが、サーバーの例がわかりませんし、追加のドキュメントも見つかりません。さらに、この例では oAuth の多くの側面がカバーされていないようです。
だから私の質問は:
- 妥当なレベルのセキュリティでクライアントとユーザーの両方を認証するための代替スキーム (oAuth ではない) はありますか?
- oAuth が最適なソリューションである場合:
- 承認プロセスをスキップする方法 (ユーザーがサードパーティ クライアントを承認する必要がないため)?
- python-oauth2 またはその他の Python ライブラリの詳細なドキュメントはありますか?
ヘルプやアドバイスをいただければ幸いです。