アプリケーションのデータベースにEvernoteユーザーを保持する(または保持しない)ためのベストプラクティスまたは一般的な方法は何ですか?
独自のメンバーシップシステムを作成し、Evernoteアカウントへの接続を作成する必要がありますか?
Evernoteユーザーデータ(またはその一部のみ)を自分のアプリに保存し、ユーザーがEvernoteでのみログインできるようにする必要がありますか?
アプリケーションのデータベースにEvernoteユーザーを保持する(または保持しない)ためのベストプラクティスまたは一般的な方法は何ですか?
独自のメンバーシップシステムを作成し、Evernoteアカウントへの接続を作成する必要がありますか?
Evernoteユーザーデータ(またはその一部のみ)を自分のアプリに保存し、ユーザーがEvernoteでのみログインできるようにする必要がありますか?
要約:あなたは彼らのデータを保護しなければなりませんが、それをどのように保護するかはあなた次第です。整数edam_userId
を使用してデータを識別します。
APIライセンス契約は、次の条件で保護をカバーしていると思います。
お客様は、APIを使用する際に、直接的または間接的に、他のユーザーが次のアクションを実行または実行できないようにすることに同意するものとします。...1.8.4EvernoteまたはAPIで採用されているキーまたはその他のセキュリティメカニズムを回避または変更する。
他の人のデータをキャッシュし、サーバーベースのアプリに他の人のデータを見ないようにするセキュリティがない場合は、明らかにその条項に違反していると思います。とてもエレガントに書かれていると思います!
それを責任条項1.2と組み合わせてください
あなたは、そのような活動があなたまたは第三者によって行われたかどうかに関係なく、あなたの鍵を使用して発生するすべての活動に対して完全に責任があります。
したがって、誰かのキャッシュされたデータを保護せず、別のユーザーがそれを取得できる場合、あなたは明示的に責任を負います。
(あなたが期待するように)人々のデータを保護するというあなたの義務の問題を解決した後、問題はあなたがそれをどのように保存するかということです。
4.3節では、識別子について直接説明していますが、oAuthの使用を余儀なくされているため、少し古くなっています。他のWebビューにパスワードを入力することはありません。ただし、モバイルまたはデスクトップクライアントアプリは、ユーザーがログアウトするためのメカニズムを提供する必要があります。これにより、アプリケーションとその永続ストレージからユーザー名とパスワードを完全に削除する必要があります。
Webアプリの場合、ユーザー名を保存することもできません。アプリケーションがマルチユーザーサーバーでインターネットサービスとして実行されている場合、Evernoteユーザーのサインイン名またはパスワードを要求、表示、保存、またはキャッシュしてはなりません。アカウント。
幸いなことに、ここでedam_userId
説明するように、oAuthトークンの資格情報の応答で返される値を信頼できます。
データモデルを見ると、Userの下にある一意のIDが表示され、User構造体に移動します。安心できる定義を参照してください。アカウントの一意の数値識別子。アカウントの存続期間中は変更されません。
結果を考えると、サービスにログインするまでユーザーIDを取得できないため、ユーザーにローカルログインを提供する場合は、ローカル資格情報をユーザーIDにリンクする必要があります。ユーザー名を2回入力する必要があるが、仕方がない場合、それは一部の人々を苛立たせる可能性があります。
ユーザーがOAuth経由でログインできるようにすることができます。そのプロセスがどのように機能するかについてのガイドは次のとおりです。
ただし、ユーザーとそのノートブックおよびタグとの関係を作成するなどの操作を実行できるように、データベースに最小限のユーザーデータ(少なくとも一意の識別子)を格納することもできます。これらの関係については、Evernoteのデータモデルを参照してください。レールを使用している場合、これはレールの規則を利用するのにも役立ちます。