私はしばらく前にここで同様の質問をしましたが、すべての答えはOpenIDを提供していました。これは素晴らしいですが、それを使用しない認証を必要とするサービス(EventBriteなど)では機能しません。
イベントブライトからのイベントとその分析(eventbriteに含まれるもの)を一覧表示するアプリを作成したいとします。誰でもこのサービスにサインアップして、イベントを一覧表示できます。しかし、EventBriteには認証用のOpenIDがないため、何らかの方法でEventBriteへのユーザーログインとパスワードを取得する必要があります。
考えられる解決策は次のとおりです。
- このようにクレデンシャルをYAMLに保存します。簡単にハッキング可能。
- ユーザーに自分のサイトのフォームにクレデンシャルを入力してもらい、クレデンシャルをデータベースに保存し、それらを使用してEventBriteにログインします。簡単にハッキング可能。
- ユーザーに資格情報を入力してもらい、保存せずに直接EventBriteに渡します。また、応答ヘッダーのCookieをデータベースに保存し、有効期限が切れたら、再度ログインしてもらいます。これは簡単にハッキングできますか?
この架空のサービスは、イベントを自動的にチェックすることも望んでいるため(たとえば、cronを介して)、ブラウザーを介して私のサイトにアクセスするユーザーに依存しません。したがって、Cookieまたは資格情報はどこかに保存する必要があります。
問題は、機密性とセキュリティについてこの同様の質問をした後、私が説明していることを実行するアプリケーションを決して構築してはならないように思われるということです。このようなものを構築する方法は大丈夫でなければなりません。
その方法は何ですか?私は何が欠けていますか?#3を使用してCookieを保存しても大丈夫ですか(ただし、ユーザーは、Eventbriteに送信するフォームを介して電子メール/パスワードを送信する必要があります)。問題の許容できる解決策は何ですか?