最新のプロジェクト用のAPIを作成しました。完全にPHPで記述されており、現在Webおよびモバイルアプリケーションをサポートしています。これをデスクトップアプリケーションにも拡張したいと思いますが、ユーザー名とパスワードをそのアプリケーションから保護しながら、ユーザーがデスクトップアプリケーションを介してログインできるようにする方法が正確にはわかりません。
Stackoverflowには優秀な開発者がたくさんいるので、すばらしい答えをいくつか教えてください。
多くの可能性があります。頭に浮かぶこと:
アプリケーションはサードパーティによって開発されるため、サードパーティがユーザー名とパスワードを保存できないようにしたいと思います。
アプリケーションがユーザー名とパスワードを送信する必要がある場合は、それらにアクセスできる必要があるため、アプリケーション内でそれらを使用しないでください。
OAuthを使用します。これは、 Twitterを含む非常に多くの大規模な組織で使用されているソリューションです。
デスクトップアプリケーションであり、ユーザーのキーボードとメモリに完全にアクセスできます。エンドユーザーがユーザー名とパスワードを入力するログインフォームがアプリケーションに必要な場合、アプリケーションには定義上このデータがあります。
唯一の解決策は、ある種のトークベースの認証を行うログインアプリケーションを自分で配布し、APIを介してサードパーティアプリケーションにログイントークンを提供することです。
Web上のoauthおよびその他のシングルサインオンシステムは、通常、システムからログインまでのiframeまたはポップアップを使用します。サードパーティのWebサイトまたはアプリケーションがこの入力フィールドを提供することを許可しないでください。